Android 无法清除viewpager内部的视图
我在Android 无法清除viewpager内部的视图,android,android-fragments,navigation-drawer,Android,Android Fragments,Navigation Drawer,我在导航抽屉中有一个项目,上面写着“bill”,当我点击一张账单时,我打开了一个片段说片段a,在片段a里面,我有一个查看页面和选项卡布局 在查看寻呼机内部我有两个片段比如片段1和片段2 在Fragment_1内部,我在顶部有一个过滤器图像(在Actionbar中),通过单击此按钮,我可以选择过滤器 问题是,当我第一次单击抽屉项目(票据)时,它工作正常,但第二次继续时,Fragment_1的视图未被清除 // I have written this code inside Fragment_A
导航抽屉中有一个项目,上面写着“bill”,当我点击一张账单时,我打开了一个片段说片段a
,在片段a
里面,我有一个查看页面
和选项卡布局
在查看寻呼机内部
我有两个片段
比如片段1
和片段2
在Fragment_1
内部,我在顶部有一个过滤器图像(在Actionbar
中),通过单击此按钮,我可以选择过滤器
问题是,当我第一次单击抽屉项目(票据)时,它工作正常,但第二次继续时,Fragment_1
的视图未被清除
// I have written this code inside Fragment_A
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view= inflater.inflate(R.layout.fragment_all_bill_, container, false);
tabLayout = (TabLayout) view.findViewById(R.id.tab_layout);
tabLayout.addTab(tabLayout.newTab().setText("Bill"));
tabLayout.addTab(tabLayout.newTab().setText("Mybill"));
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
tabLayout.setSelectedTabIndicatorColor(getActivity().getResources().getColor(R.color.white));
pager = (ViewPager) view.findViewById(R.id.pager);
ViewPagerAdapter adapter=new ViewPagerAdapter(getActivity().getSupportFragmentManager());
pager.setAdapter(adapter);
pager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener()
{
@Override
public void onTabSelected(TabLayout.Tab tab)
{
pager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
return view;
// This is my adapter class
public class ViewPagerAdapter extends FragmentStatePagerAdapter
{
public ViewPagerAdapter(FragmentManager fm)
{
super(fm);
}
@Override
public Fragment getItem(int position)
{
switch (position)
{
case 0:
return new Bills_Fragment();
case 1:
return new MyBill_Fragment();
}
return null;
}
@Override
public int getCount()
{
return 2;
}
public int getItemPosition(Object object)
{
Log.d("position===","case2noone");
return POSITION_NONE;
}
}
请建议我使用这个
.notifyDataSetChanged()
您可以更改viewpager中的所有数据并重新加载数据。
要销毁viewpager项,请在viewpager适配器中使用此方法
@Override
public void destroyItem(View collection, int position, Object view) {
((ViewPager) collection).removeView((View) view); }
片段视图_1未被清除
意味着什么?查看此链接我将在此处上载此图像,第一次是在“付费”上点击,然后视图被更改,但第二次它不工作。我应该在哪里写入。notifyDataSetChanged()在我的viewpager适配器类中