Listview添加viewpager参数异常java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams cann

来源:互联网 发布:fgo网络连接异常 安卓 编辑:程序博客网 时间:2024/05/29 08:35

项目用到了livtview+viewpager的展示效果,在添加了viewpager后就发现一创建listview 就报错

并且在5.0的手机上并不报错,在4.4的就出现了bug

05-22 23:54:25.300 2382-2382/cn.wipace.wipacestore E/AndroidRuntime: FATAL EXCEPTION: main                    Process: cn.wipace.wipacestore, PID: 2382                    java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams                    at android.widget.ListView.setupChild(ListView.java:1826)                    at android.widget.ListView.makeAndAddView(ListView.java:1793)                    at android.widget.ListView.fillDown(ListView.java:691)                    at android.widget.ListView.fillFromTop(ListView.java:752)

发现是因为listview在构建时,发生了参数异常.

我的代码:

       view = View.inflate(getContext(), R.layout.layout_list_view, null);        gameListView = (PullUploadListView) view.findViewById(R.id.listview_item_game);      //viewpager  在这我把rollViewpager放在了一个Relaytivelayout      toplayout= LayoutInflater.from(getActivity()).inflate(R.layout.layout_roll_view, null);        rollViewPager = (RollPagerView) toplayout.findViewById(R.id.roll_view_pager);        setPagerConfig(rollViewPager);       //添加Adapter和headview        gameListAdapter = new RecommendGameListAdapter(getContext(), games);        gameListView.setAdapter(gameListAdapter);       //这里直接添加了toplayout中的rollViewpager,而这时他的layoutparams还是RelativeLayout.Params所以报错了       gameListView.addHeaderView(rollViewPager);

修改代码为:

gameListView.addHeaderView(toplayout);//直接更改为toplayout



0 0
原创粉丝点击