【发布时间】:2017-10-26 18:18:21
【问题描述】:
我有一个 viewPager 里面有几个片段。
providerViewPager = (ViewPager) findViewById(R.id.viewPager);
userRequest.add(1);
fragmentPagerAdapter = new FragmentStatePagerAdapter(HomeActivity.this.getSupportFragmentManager()) {
@Override
public int getCount() {
return userRequest.size();
}
@Override
public Fragment getItem(int position) {
return MyFragment.newInstance(position, userRequest.get(position));
}
};
providerViewPager.setAdapter(fragmentPagerAdapter);
userRequest 是一个 int 的 arrayList,我为这个列表中的每个项目创建一个 MyFragment。
MyFragment 包含每个页面的显示视图。
view.findViewById(R.id.mybutton).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ViewPager viewPager = ((HomeActivity)getActivity()).getViewPager();
FragmentStatePagerAdapter adapter = ((HomeActivity)getActivity()).getAdapter();
ArrayList<Integer> ints = ((HomeActivity)getActivity()).getRequest();
viewPager.removeView(view);
ints.remove(getArguments().getInt("position"));
adapter.notifyDataSetChanged();
}
});
这是一个在我的片段内的 onClickListener,当我点击它时,我想删除这个当前片段。
正如你所看到的,我从我的 Activity 中获取了 viewPager、适配器和 arrayList,我尝试了一些方法来删除这个片段,这项工作但我遇到了一些错误,例如,如果我删除了中间的一个元素视图寻呼机最后我无法到达元素。我想知道它们对于删除片段是否很简单。
【问题讨论】:
-
为什么要从视图 Pager 中删除视图?
-
在删除片段之前尝试设置视图分页器的位置
-
ViewPager 负责自己的内容。如果您想更改某些内容,请更改适配器中的数据或当前位置。
标签: android android-fragments android-activity android-viewpager