我有一个片段A,其中我初始化另一个片段说Frgament B.我的片段A有一个列表视图。点击该列表视图,我需要调用片段B的方法并更新Textview。但是,只要我调用此方法,它就会在Logcat
中闪烁以下消息java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
我的代码如下:
public class FragmentA extends Fragment {
// in oncreateview
FragmentB fb=new FragmentB();
// on listview click item i call a method of fragment B
setdata(value); // where value is clicked position
}
// Fragment B is as follows :
public class FragmentB extends Fragment {
// IN ONCRAETEVIEW
initialized textview
return view;
public void setdata(int data)
{
// Updating textview settext method
}
}
请帮忙 提前致谢
答案 0 :(得分:0)
只有片段B被添加到布局中,然后创建片段B的视图。所以你应该在片段事务之后调用setdata()。
Fragment fragmentB = new Fragment();
getFragmentManager().beginTransaction().add(R.layout.container, fragmentB).commit();
fragmentB.setData(value);
答案 1 :(得分:0)
FragmentManager m=getSupportFragmentManager();
FragmentB fb=(FragmentB )m.findFragmentById(R.id.your_fragment_id_from_xmlsetdata);
fb.setdata(value);
try with this code it will definitely works