开发者社区> 问答> 正文

有关于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-16 08:14:23 1964 0
1 条回答
写回答
取消 提交回答
  • 把View view2 = inflater.inflate(R.layout.otherfragment, container, false);
    换成View headerVeiew = LayoutInflater.from(getActivity()).inflate(R.layout.otherfragment, null);
    其它不变 就可以正常运行了

    2019-07-17 19:03:15
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
A Developer's View Into Spark' 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载