【发布时间】:2016-04-22 16:27:13
【问题描述】:
如下图所示,我有一个Activity,里面有一个ViewPager(带有TabLayout)。
现在我想刷新例如TextView 在ViewPager Fragment 中的文本。我该怎么做?
http://imgur.com/0kWQCfx [对不起图片链接,但我还没有足够的声誉。]
我已经尝试过这样的事情:
//In Activity
View root = getLayoutInflater().inflate(R.layout.fragment_home, null);
TextView textView = (TextView) root.findViewById(R.id.text_view);
textView.setText("test");
但我得到一个 NullPointerException 用于 textView。
编辑 1:
我只需要访问一个 Fragment 中的组件,因此我没有在 Adapter 中使用数组。
我将我的ViewPagerAdapter 更改为:
public class ViewPagerAdapter extends FragmentPagerAdapter {
public HomeFragment fragment;
...
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return fragment = new HomeFragment();
case 1:
...
default:
return null;
}
}
但我仍然在这里收到NullPointerException:
final Fragment root = viewPagerAdapter.fragment;
Log.d("testtest", String.valueOf(root == null));
【问题讨论】:
-
您想从活动中更改片段的文本视图值吗?
-
@NazmulHasanMasum 是的,你明白我的意思
-
或许你可以告诉我,在 viewpager 中更新 textview 的 Activity 到底发生了什么?
标签: android android-fragments android-activity android-viewpager