开发者社区 问答 正文

关于listvi中加入viewpager 求大神看下代码

我是写了一个viewpager 有三个页面 然后在第一个页面中加入了一个listview 然后在listview中加入一个viewpager 但是每次运行都报错

java.lang.ClassCastException: android.support.v4.view.ViewPager$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams

下面是最外层viewpager的第一个页面中的代码

public class FragmenrOne extends Fragment{

@Override
 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
 View view = inflater.inflate(R.layout.listview, container, false); //这个是自己写的listview
 list = (List) view.findViewById(R.id.list);
 View view2 = inflater.inflate(R.layout.otherfragment, container, false); //这个是viewpager
 viewpager = (ViewPager) view2.findViewById(R.id.otherpager);
 madapter=new OtherAdapter(getChildFragmentManager()); //viewpager的Adapter
 viewpager.setAdapter(madapter);
 list.addHeaderView(view2);

return view;
 }

}

当我把listview的代码去掉 或者把viewpager的代码去掉 都可以正常显示出来 就是把viewpager加到listview中后就报错 这是什么原因啊 一直没法解决啊

展开
收起
爵霸 2016-03-12 15:03:48 1871 分享 版权
1 条回答
写回答
取消 提交回答
  • 解决了
    把View view2 = inflater.inflate(R.layout.otherfragment, container, false);
    换成View headerVeiew = LayoutInflater.from(getActivity()).inflate(R.layout.otherfragment, null);
    其它不变 就可以正常运行了 至于什么原因我也还不太清楚

    2019-07-17 19:00:57
    赞同 展开评论
问答分类:
问答地址: