如何在我的Activity中重启Fragment - Android

时间:2017-10-27 19:23:38

标签: android android-fragments android-activity android-viewpager fragment

我的活动里面有3个片段。我需要在我的活动中重新启动第一个片段,点击按钮。

ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFrag(new HomeFragment(), "Home");
adapter.addFrag(new CategoryFragment(), "Category");
adapter.addFrag(new FilterFragment(), "Filter");
viewPager.setAdapter(adapter);

我测试以下方式,但不起作用并显示错误: refresh fragment at reload

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v4.app.Fragment.setNextAnim(int)' on a null object reference 

2 个答案:

答案 0 :(得分:1)

您可以使用以下方式重新加载片段:

FragmentTransaction tr = getFragmentManager().beginTransaction();
tr.replace(R.id.fragment_layout, instanceFragment);
tr.commit()

instanceFragment要重新加载的片段实例和fragment_layout活动布局XML文件中的FrameLayout组件。

答案 1 :(得分:0)

在按钮上单击,检查ViewPager的当前位置是否大于0(第一个位置)并将其设置为第一个位置,如下所示:

const TeamType = new GraphQLObjectType({ ... });

const BoxscoreType = new GraphQLObjectType({
  name: 'Boxscore',
  fields: () => ({
    teams: {
      type: TeamType
    },
    ...
  })
});
相关问题