我正在使用一个带有ViewPager的Fragment,我需要从我的Fragment中设置ViewPager中的文本,但我无法做到,因为我一直得到。
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
这是我从ViewPager的XML文件中初始化TextViews的方法。
View root = inflater.inflate(R.layout.fragment_library, container, false);
.
.
contentHeading = root.findViewById(R.id.content_heading);
contentBody = root.findViewById(R.id.content_body);
.
.
return root;
你可以在Fragment构造函数中定义一个接口,然后在承载viewPager的根Fragment中实现它。
interface SomeInterface
{
public void callback (Type xxx)
}
父片段必须实现接口来监听任何回调。
ParentFragment implements SomeInterface
{
...
@override
public void callBack(Type xxx)
{
//Change view pager
}
}
然后把这个片段作为监听器传给你的viewpager构造函数和childFragment构造函数。