我有兩個帶edittext的片段,我從第一個edittext獲取數據,但在調用第二個片段後,我無法從第二個片段的edittext獲取數據。 Logcat說我從第二個edittext的數據是無效的。我無法從片段中的edittext中獲取數據,我替換片段後
這是一個第一片段的類
package com.example.n;
import android.annotation.TargetApi;
import android.app.Fragment;
import android.os.Build;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public class FragmentAdd extends Fragment {
EditText et1;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.frag_add, container, false);
et1 = (EditText) rootView.findViewById(R.id.editText);
return rootView ;
}
}
這是一個第二片段類
package com.example.n;
import android.annotation.TargetApi;
import android.app.Fragment;
import android.os.Build;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public class FragmentAdd2 extends Fragment {
EditText et2;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.frag_add2, container, false);
et2 = (EditText) rootView.findViewById(R.id.editText2);
return rootView ;
}
public String getEditText(){
/*FragmentAdd2 fragmentAdd3 = new FragmentAdd2();
String data = fragmentAdd3.et2.getText().toString();*/
String data = et2.getText().toString();
return data;
}
}
這是主類的一部分
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public void onClick(View view){
FragmentAdd fragmentAdd = new FragmentAdd();
String data = fragmentAdd.et1.getText().toString();
}
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public void onClick(View view){
FragmentAdd2 fragmentAdd2 = new FragmentAdd2();
String data = fragmentAdd2.et2.getText().toString();
}
*LogCat*
java.lang.IllegalStateException: Could not execute method of the activity
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference
你看Android並不是你的日常java,它的煩人。你的editText沒有被初始化,因爲視圖沒有被轉換爲XML,**爲什麼因爲**你需要讓android創建你的片段,重新搜索片段transanctions Sir,honeycode, – Elltz
我不明白我是什麼必須做的,我的方法創建的片段事務,但我不顯示在此頁面中。爲什麼我顯示我的片段交易,我成功地將我的片段替換爲第二個片段。但在第二個片段中訪問我的edittext我不明白。 – honeycode