java无法更新视图寻呼机中的中间片段。
我一直在做一个有3个选项卡的选项卡布局
我的问题是 我无法更新、刷新页面之间的第二个选项卡
根据我的调试 我从第一个标签滑动到第二个标签,第三个标签在getItem(int位置)被调用,类似地,片段一被称为从第三个标签滑动到第二个标签
viewpager的默认设置为1。我甚至无法将其设置为零计数
在getItem,最开始的位置是1,但我一刷页面, 它只调用位置0和2。 1永远不会被调用
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
这是我的ViewPagerSetUp
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new
ViewPagerAdapter(getSupportFragmentManager());
adapter.addFragment(new InvitedFragment(), "Invited");
adapter.addFragment(new InterestedFragment(), "Interested");
adapter.addFragment(new AttendingFragment(), "Attending");
viewPager.setAdapter(adapter);
}
这是我的寻呼机
class ViewPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
public ViewPagerAdapter(FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
public void refreshFragment(int position) {
mFragmentList.get(position).onResume();
}
@Override
public int getCount() {
return mFragmentList.size();
}
public void addFragment(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
}
addOnPageChangeListener是一个选项,但我也无法使用pageChangelistener刷新它
我怎样才能治愈精神分裂症? 如何刷新每页滑动的每个选项卡
多谢各位
# 1 楼答案
将此添加到您的活动中
在适配器中添加以下内容:
# 2 楼答案
您可以使用下面的方法刷新第二个片段。将此方法放入片段中
# 3 楼答案
试试这个
在片段中重写下面的方法。当片段可见时调用
# 4 楼答案
您必须将视图寻呼机添加到TableLayout中,如果未添加,请尝试以下代码:
此外,您正在refreshFragment方法中调用父片段(超级)onResume方法,您必须调用子片段onResume方法: