0
我已經創建了一個ListFragment
和onItemClick
,我試圖將列表的值打開到其他Fragment
。在給出空指針的動態創建片段之間進行通信異常
我已經成功創建了兩個fragments
,並通過interface
通過Google文檔中描述的活動與他們進行了交流。
,但是當我米試圖建立在每個項目上單擊列出的新Fragment
並通過接口通信我上查看得到一個Null Pointer Exception
public class Details extends Fragment {
ViewGroup view_details;
static int count;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view_details = (ViewGroup) inflater.inflate(R.layout.details, container , false);
return view_details;
}
public void setTextView(String details_string){
Log.d("TAG", ""+details_string.toString());
TextView txt_view_details = (TextView) view_details.findViewById(R.id.txt_details);
//Getting Null POinter Here
txt_view_details.setText(details_string.toString());
}
}
我的接口方法,其中餘米插入新的片段插入的FrameLayout是:
@Override
public void connectIt(String time) {
Details details = new Details();
FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.frameLayout , details);
fragmentTransaction.addToBackStack(null);
if (details != null) {
details.setTextView(time);
}
fragmentTransaction.commit();
}
12-17 18:18:06.740: E/AndroidRuntime(15917): FATAL EXCEPTION: main
12-17 18:18:06.740: E/AndroidRuntime(15917): java.lang.NullPointerException
12-17 18:18:06.740: E/AndroidRuntime(15917): at com.raweng.fragmentdemo.Details.setTextView(Details.java:31)
12-17 18:18:06.740: E/AndroidRuntime(15917): at com.raweng.fragmentdemo.FragmentDemo.connectIt(FragmentDemo.java:46)
12-17 18:18:06.740: E/AndroidRuntime(15917): at com.raweng.fragmentdemo.ListData.updateIt(ListData.java:41)
12-17 18:18:06.740: E/AndroidRuntime(15917): at com.raweng.fragmentdemo.ListData.onListItemClick(ListData.java:34)
12-17 18:18:06.740: E/AndroidRuntime(15917): at android.app.ListFragment$2.onItemClick(ListFragment.java:160)
12-17 18:18:06.740: E/AndroidRuntime(15917): at android.widget.AdapterView.performItemClick(AdapterView.java:298)
12-17 18:18:06.740: E/AndroidRuntime(15917): at android.widget.AbsListView.performItemClick(AbsListView.java:1128)
12-17 18:18:06.740: E/AndroidRuntime(15917): at android.widget.AbsListView$PerformClick.run(AbsListView.java:2812)
12-17 18:18:06.740: E/AndroidRuntime(15917): at android.widget.AbsListView$1.run(AbsListView.java:3571)
12-17 18:18:06.740: E/AndroidRuntime(15917): at android.os.Handler.handleCallback(Handler.java:725)
12-17 18:18:06.740: E/AndroidRuntime(15917): at android.os.Handler.dispatchMessage(Handler.java:92)
12-17 18:18:06.740: E/AndroidRuntime(15917): at android.os.Looper.loop(Looper.java:153)
12-17 18:18:06.740: E/AndroidRuntime(15917): at android.app.ActivityThread.main(ActivityThread.java:5297)
12-17 18:18:06.740: E/AndroidRuntime(15917): at java.lang.reflect.Method.invokeNative(Native Method)
12-17 18:18:06.740: E/AndroidRuntime(15917): at java.lang.reflect.Method.invoke(Method.java:511)
12-17 18:18:06.740: E/AndroidRuntime(15917): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
12-17 18:18:06.740: E/AndroidRuntime(15917): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
12-17 18:18:06.740: E/AndroidRuntime(15917): at dalvik.system.NativeStart.main(Native Method)
任何幫助是真正讚賞...
我在調用fragmentmanager的提交後調用onCreateView。嘗試切換你的if子句和fragmentTransaction.commit(); – andreasg
@Nope同樣的事情仍然NullPOinter異常 – nitesh