需求是这样的:
搜索内容,搜索结果有4中。
如果搜索的结果中,只有3中有结果那么只显示3个tab。
如果有2个那么显示2个。(fragment 为同一个类。如 searchfragment)
我现在使用FragmentPagerAdapter 发现调用FragmentPagerAdapter 无效果。
然后在百度中搜索点用这个POSITION_NONE 同样达不到效果
问题搞定了。但是不是很科学的方法。
import java.util.List;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
public class Pageradapter extends FragmentPagerAdapter {
private List<Fragment> mFragment;
private long baseId = 0;
public Pageradapter(FragmentManager fm, List<Fragment> fragment) {
super(fm);
this.mFragment = fragment;
}
@Override
public Fragment getItem(int position) {
return mFragment.get(position);
}
@Override
public int getCount() {
return mFragment.size();
}
public List<Fragment> getFragment() {
return mFragment;
}
public void setFragment(List<Fragment> fragments) {
this.mFragment = fragments;
baseId = (int)(Math.random()*10000)+1;
notifyDataSetChanged();
}
@Override
public long getItemId(int position) {
return baseId + position;
}
@Override
public int getItemPosition(Object object) {
return POSITION_NONE;
}
}
网上很多关于更改这个id的说明,我就不解释了。
我这个,满足了我暂时的需求,但是这个随机数,不确定的因素。也是有几率拿到重复的id的。
希望大家看到,给一个更好的解决方案。