listview嵌套listview问题~~~求大神解救

Bertram丶Tan 2016-05-12 04:21:16
界面是一个viewpager + fragment 然后fragment里面是一个listview1,listview1里面还有一个listview2,然后我想点击里面那个listview2,发现有时候会出现IllegalStateException异常,想了好久都解决不了。
主要就是需要点击listview2里面的item能够跳转到另一个页面,listview的适配器用的是鸿洋大神写的万能适配器。求解答
...全文
525 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
反魂蝶五分 2016-05-13
  • 打赏
  • 举报
回复
listview嵌套listview,为什么不用ExpandableList 。
山鹰1985 2016-05-13
  • 打赏
  • 举报
回复
引用 26 楼 tan958013863 的回复:
搞到最后我还是用了最蠢的方法,就是写一个LinearLayout,然后不断的addview进去,来显示出listview的效果,而且点击也不会再报错
RecyclerView 为什么不用这个?
Bertram丶Tan 2016-05-13
  • 打赏
  • 举报
回复
搞到最后我还是用了最蠢的方法,就是写一个LinearLayout,然后不断的addview进去,来显示出listview的效果,而且点击也不会再报错
Bertram丶Tan 2016-05-13
  • 打赏
  • 举报
回复
引用 24 楼 u012137924 的回复:
鸿洋大神的万能适配器,我没看过,不过, 基于你的需求来看,直接 继承 BaseAdapter就够了.一般的写法.
就是因为BaseAdapter的回收机制没有万能适配器那么完善,我才用鸿洋大神的万能适配器
山鹰1985 2016-05-13
  • 打赏
  • 举报
回复
鸿洋大神的万能适配器,我没看过,不过, 基于你的需求来看,直接 继承 BaseAdapter就够了.一般的写法.
山鹰1985 2016-05-13
  • 打赏
  • 举报
回复
把 public void Statesbutton(String statu){ switch (statu){ case "正在处理": break; case "已完成": break; case "已发货": more.setVisibility(View.GONE); sale.setVisibility(View.GONE); common.setVisibility(View.GONE); break; case "等待付款": more.setVisibility(View.GONE); wuliu.setVisibility(View.GONE); sale.setVisibility(View.GONE); common.setText("去付款"); break; case "取消订单": break; case "配货中": break; case "等待付款确认": break; case "订单锁定": break; case "等待处理": more.setVisibility(View.GONE); wuliu.setVisibility(View.GONE); sale.setVisibility(View.GONE); common.setText("提醒发货"); break; } } 里面改变 UI 的处理全部放到 Handler 里面去.
山鹰1985 2016-05-13
  • 打赏
  • 举报
回复
The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread. Make sure your adapter calls notifyDataSetChanged() when its content changes. [in ListView(2131624456, class com.zhanyun.yunshop.widget.ZYListView) with Adapter(class com.zhanyun.yunshop.adapter.MyOrderGoodsAdapter)] 虽然你的适配器内容已经改变,但是却没有接受到一个通知, 确定你的适配器的内容没有被一个后台线程修改,而只是被UI主线程修改 , 确定你的适配器内容修改的时候有调用 notifyDataSetChanged() 方法, [in ListView(2131624456, class com.zhanyun.yunshop.widget.ZYListView) with Adapter(class com.zhanyun.yunshop.adapter.MyOrderGoodsAdapter)]
Bertram丶Tan 2016-05-13
  • 打赏
  • 举报
回复
引用 20 楼 lx912356858 的回复:
[quote=引用 19 楼 tan958013863 的回复:] [quote=引用 17 楼 lx912356858 的回复:] listview嵌套listview不就是一个二级列表么? 你可以百百度ExpandableListView这个控件....
不是二级列表来的[/quote] 你想要的效果不是点开第一个listview的一个子布局然后在他地下弹出另一个listview么? 那不就是二级列表么,只不过二级列表的子项变成了listview, 至于也许还有别的什么效果优化的话,那就是自定义二级列表了,不过这还是二级列表啊.....[/quote] 没有点开这个效果的,就是listview里面嵌套一个listview,只是点击里面那个listview跳转的时候会出现异常
lx912356858 2016-05-13
  • 打赏
  • 举报
回复
引用 19 楼 tan958013863 的回复:
[quote=引用 17 楼 lx912356858 的回复:] listview嵌套listview不就是一个二级列表么? 你可以百百度ExpandableListView这个控件....
不是二级列表来的[/quote] 你想要的效果不是点开第一个listview的一个子布局然后在他地下弹出另一个listview么? 那不就是二级列表么,只不过二级列表的子项变成了listview, 至于也许还有别的什么效果优化的话,那就是自定义二级列表了,不过这还是二级列表啊.....
Bertram丶Tan 2016-05-13
  • 打赏
  • 举报
回复
引用 17 楼 lx912356858 的回复:
listview嵌套listview不就是一个二级列表么? 你可以百百度ExpandableListView这个控件....
不是二级列表来的
摘星猿 2016-05-13
  • 打赏
  • 举报
回复
最好改用expandableListView
lx912356858 2016-05-13
  • 打赏
  • 举报
回复
listview嵌套listview不就是一个二级列表么? 你可以百百度ExpandableListView这个控件....
Bertram丶Tan 2016-05-13
  • 打赏
  • 举报
回复
引用 15 楼 u014614038 的回复:
MyOrderGoodsAdapter  madapter = new MyOrderGoodsAdapter(mContext,mdatas,R.layout.list_item_myorder_list);//第二个listview的适配器 TextView  more = helper.getView(R.id.order_btn_more); Button  wuliu = helper.getView(R.id.order_btn_wuliu); Button  sale = helper.getView(R.id.order_btn_sale); ZYListView  Button  common = helper.getView(R.id.order_btn_common); lv_order = helper.getView(R.id.lv_myorder_list);//第二个listview //lv_order.setEnabled(false); lv_order.setAdapter(madapter); if (mdatas != null && mdatas.size() > 0){ mdatas.clear();//这个mdatas是第二个listview的数据 } mdatas.addAll(item.getProductDetail().getProductlist()); madapter.notifyDataSetChanged(); 改成这样试试,每个二级列表都是独立的,你这样用一个成员变量进行引用应该是无法刷新的
还是会报那个异常呢
魈痕 2016-05-13
  • 打赏
  • 举报
回复
我做过这种外层都一样, 但是我的 里面是listview嵌套gridview ,
Bertram丶Tan 2016-05-13
  • 打赏
  • 举报
回复
引用 33 楼 lx912356858 的回复:
[quote=引用 32 楼 tan958013863 的回复:] [quote=引用 29 楼 lx912356858 的回复:] [quote=引用 21 楼 tan958013863 的回复:] [quote=引用 20 楼 lx912356858 的回复:] [quote=引用 19 楼 tan958013863 的回复:] [quote=引用 17 楼 lx912356858 的回复:] listview嵌套listview不就是一个二级列表么? 你可以百百度ExpandableListView这个控件....
不是二级列表来的[/quote] 你想要的效果不是点开第一个listview的一个子布局然后在他地下弹出另一个listview么? 那不就是二级列表么,只不过二级列表的子项变成了listview, 至于也许还有别的什么效果优化的话,那就是自定义二级列表了,不过这还是二级列表啊.....[/quote] 没有点开这个效果的,就是listview里面嵌套一个listview,只是点击里面那个listview跳转的时候会出现异常 [/quote] 那你就把点开这个效果屏蔽掉,让他一显示就把所有子项全打开,平铺出来, 我不说了么 想要其他效果就自定义二级列表优化下就好了,其根本没变还是二级列表。。。 那你不信非要listview套listview也行, 安卓本身就是有很多方法去实现每个效果的,都可以,效果出来就好。。[/quote] 你觉得淘宝那个订单也是二级列表吗[/quote] 我其实是没太看懂你的那个图是啥意思 listview怎么个套法 我的第一感官listview套listview就是二级列表 那既然你说不是 那就不是呗 你说是啥就是啥 您~随~意~[/quote] 其实就是有点像淘宝那样的而已
lx912356858 2016-05-13
  • 打赏
  • 举报
回复
引用 32 楼 tan958013863 的回复:
[quote=引用 29 楼 lx912356858 的回复:] [quote=引用 21 楼 tan958013863 的回复:] [quote=引用 20 楼 lx912356858 的回复:] [quote=引用 19 楼 tan958013863 的回复:] [quote=引用 17 楼 lx912356858 的回复:] listview嵌套listview不就是一个二级列表么? 你可以百百度ExpandableListView这个控件....
不是二级列表来的[/quote] 你想要的效果不是点开第一个listview的一个子布局然后在他地下弹出另一个listview么? 那不就是二级列表么,只不过二级列表的子项变成了listview, 至于也许还有别的什么效果优化的话,那就是自定义二级列表了,不过这还是二级列表啊.....[/quote] 没有点开这个效果的,就是listview里面嵌套一个listview,只是点击里面那个listview跳转的时候会出现异常 [/quote] 那你就把点开这个效果屏蔽掉,让他一显示就把所有子项全打开,平铺出来, 我不说了么 想要其他效果就自定义二级列表优化下就好了,其根本没变还是二级列表。。。 那你不信非要listview套listview也行, 安卓本身就是有很多方法去实现每个效果的,都可以,效果出来就好。。[/quote] 你觉得淘宝那个订单也是二级列表吗[/quote] 我其实是没太看懂你的那个图是啥意思 listview怎么个套法 我的第一感官listview套listview就是二级列表 那既然你说不是 那就不是呗 你说是啥就是啥 您~随~意~
Bertram丶Tan 2016-05-13
  • 打赏
  • 举报
回复
引用 28 楼 u014290233 的回复:
listview嵌套listview,为什么不用ExpandableList 。
不是ExpandableList 这样的,要的效果不同
Bertram丶Tan 2016-05-13
  • 打赏
  • 举报
回复
引用 29 楼 lx912356858 的回复:
[quote=引用 21 楼 tan958013863 的回复:] [quote=引用 20 楼 lx912356858 的回复:] [quote=引用 19 楼 tan958013863 的回复:] [quote=引用 17 楼 lx912356858 的回复:] listview嵌套listview不就是一个二级列表么? 你可以百百度ExpandableListView这个控件....
不是二级列表来的[/quote] 你想要的效果不是点开第一个listview的一个子布局然后在他地下弹出另一个listview么? 那不就是二级列表么,只不过二级列表的子项变成了listview, 至于也许还有别的什么效果优化的话,那就是自定义二级列表了,不过这还是二级列表啊.....[/quote] 没有点开这个效果的,就是listview里面嵌套一个listview,只是点击里面那个listview跳转的时候会出现异常 [/quote] 那你就把点开这个效果屏蔽掉,让他一显示就把所有子项全打开,平铺出来, 我不说了么 想要其他效果就自定义二级列表优化下就好了,其根本没变还是二级列表。。。 那你不信非要listview套listview也行, 安卓本身就是有很多方法去实现每个效果的,都可以,效果出来就好。。[/quote] 你觉得淘宝那个订单也是二级列表吗
Bertram丶Tan 2016-05-13
  • 打赏
  • 举报
回复
引用 27 楼 u012137924 的回复:
[quote=引用 26 楼 tan958013863 的回复:] 搞到最后我还是用了最蠢的方法,就是写一个LinearLayout,然后不断的addview进去,来显示出listview的效果,而且点击也不会再报错
RecyclerView 为什么不用这个?[/quote] 也会出现这个异常,所以果断不用了
lx912356858 2016-05-13
  • 打赏
  • 举报
回复
引用 21 楼 tan958013863 的回复:
[quote=引用 20 楼 lx912356858 的回复:] [quote=引用 19 楼 tan958013863 的回复:] [quote=引用 17 楼 lx912356858 的回复:] listview嵌套listview不就是一个二级列表么? 你可以百百度ExpandableListView这个控件....
不是二级列表来的[/quote] 你想要的效果不是点开第一个listview的一个子布局然后在他地下弹出另一个listview么? 那不就是二级列表么,只不过二级列表的子项变成了listview, 至于也许还有别的什么效果优化的话,那就是自定义二级列表了,不过这还是二级列表啊.....[/quote] 没有点开这个效果的,就是listview里面嵌套一个listview,只是点击里面那个listview跳转的时候会出现异常 [/quote] 那你就把点开这个效果屏蔽掉,让他一显示就把所有子项全打开,平铺出来, 我不说了么 想要其他效果就自定义二级列表优化下就好了,其根本没变还是二级列表。。。 那你不信非要listview套listview也行, 安卓本身就是有很多方法去实现每个效果的,都可以,效果出来就好。。
加载更多回复(15)

80,490

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧