如何从另一个布局的Fragment中找到ViewById,而不是膨胀为根布局的那个布局?

问题描述 投票:0回答:1

我正在使用一个带有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;
java android android-fragments textview
1个回答
0
投票

你可以在Fragment构造函数中定义一个接口,然后在承载viewPager的根Fragment中实现它。

interface SomeInterface
{
public void callback (Type xxx)
}

父片段必须实现接口来监听任何回调。

 ParentFragment implements SomeInterface
    {
    ...
         @override
         public void callBack(Type xxx)
         {
                //Change view pager 
         }
    }

然后把这个片段作为监听器传给你的viewpager构造函数和childFragment构造函数。

© www.soinside.com 2019 - 2024. All rights reserved.