mPagerAdapter = new PagerAdapter() {
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
@Override
public int getCount() {
return views.size();
}
@Override
public void destroyItem(View container, int position, Object object) {
((ViewPager)container).removeView(views.get(position));
}
@Override
public Object instantiateItem(View container, int position) {
((ViewPager)container).addView(views.get(position));
return views.get(position);
}
};
mTabPager.setAdapter(mPagerAdapter);
After My Fragment has created, I call function:
public void AddView(View v, int index)
{
views.add(index, v);
mPagerAdapter.notifyDataSetChanged();
}
But it report android.support.v4.view.ViewPager$LayoutParams cannot be cast to android.view.ViewGroup$MarginLayoutParams
最佳答案
@Override
public void destroyItem(View container, int position, Object object) {
((ViewPager)container).removeView(views.get(position));
}
@Override
public Object instantiateItem(View container, int position) {
((ViewPager)container).addView(views.get(position));
return views.get(position);
}
试试这个,使用您的 ViewPager 实例替换转换范围“((ViewPager)container)”,像这样,mViewPager.removeView(views.get(position));
关于android.support.v4.view.ViewPager$LayoutParams 无法转换为 android.view.ViewGroup$MarginLayoutParams,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25544992/