Adapter.notifydatasetChanged()没有用的解决方法;Only the original thread that created a view hierarchy 。。。。
2014-05-17 14:32
197 查看
一、使用了Adapter.notifydatasetChanged()没有用
我使用list.andall();方法得到的数据Adapter.notifydatasetChanged()有用,但给list重新赋值(不是从新new一个)后就不行。
原因:数据没变或者数据中的条数没变。可以参考一下这篇博客:http://cancait.blog.163.com/blog/static/2133574420139308186865/
解决方法:在adapter中设置一个方法,用于改变数据。例如:
public void setDataList(List<CateGoodsBean> array) {
this.array=array;
}
每次在使用Adapter.notifydatasetChanged()时,在前面加上一句Adapter.setList(array);
二、Only the original thread that created a view hierarchy can touch its views.
不能在子线程中操控主线程中的view
虽然知道不能在子线程中操控主线程中的view,但使用AsyncTask时就忘的一干二净了。以前都是使用handler
我当时是使用的android提供的的异步线程AsyncTask做的,我在doInBackground()方法中使用了主线程的view报的这个错误。
但在onPostExecute()方法中是可以的。此方法可以执行相当于handler中public boolean handleMessage(Message msg)中可以执行的代码。
doInBackground()就相当于Thread中run()方法中执行的东西。
一、使用了Adapter.notifydatasetChanged()没有用
我使用list.andall();方法得到的数据Adapter.notifydatasetChanged()有用,但给list重新赋值(不是从新new一个)后就不行。
原因:数据没变或者数据中的条数没变。可以参考一下这篇博客:http://cancait.blog.163.com/blog/static/2133574420139308186865/
解决方法:在adapter中设置一个方法,用于改变数据。例如:
public void setDataList(List<CateGoodsBean> array) {
this.array=array;
}
每次在使用Adapter.notifydatasetChanged()时,在前面加上一句Adapter.setList(array);
二、Only the original thread that created a view hierarchy can touch its views.
不能在子线程中操控主线程中的view
虽然知道不能在子线程中操控主线程中的view,但使用AsyncTask时就忘的一干二净了。以前都是使用handler
我当时是使用的android提供的的异步线程AsyncTask做的,我在doInBackground()方法中使用了主线程的view报的这个错误。
但在onPostExecute()方法中是可以的。此方法可以执行相当于handler中public boolean handleMessage(Message msg)中可以执行的代码。
doInBackground()就相当于Thread中run()方法中执行的东西。
相关文章推荐
- android开发中出现Only the original thread that created a view hierarchy can touch its views.错误的解决方法
- "Only the original thread that created a view hierarchy can touch its views.” 解决方法
- Work 工作子线程更新UI控件--解决Only the original thread that created a view hierarchy can touch its views
- 解决:Only the original thread that created a view hierarchy can touch its views
- 浅析Android中的消息机制-解决:Only the original thread that created a view hierarchy can touch its views.
- 开发中错误记录:解决:Only the original thread that created a view hierarchy can touch its views.
- 浅析Android中的消息机制-解决:Only the original thread that created a view hierarchy can touch its views.
- 解决Only the original thread that created a view hierarchy can touch its views
- 浅析Android中的消息机制-解决:Only the original thread that created a view hierarchy can touch its views.
- 解决Only the original thread that created a view hierarchy can touch its views
- 已解决:Only the original thread that created a view hierarchy can touch its views.
- 完美解决Only the original thread that created a view hierarchy can touch its views
- 浅析Android中的消息机制-解决:Only the original thread that created a view hierarchy can touch its views. .
- "Only the original thread that created a view hierarchy can touch its views."解决
- Only the original thread that created a view hierarchy can touch its views的解决记录
- Android进阶——Handler的应用之解决Only the original thread that created a view hierarchy can touch its views
- Android 解决Only the original thread that created a view hierarchy can touch its views异常
- 浅析Android中的消息机制-解决:Only the original thread that created a view hierarchy can touch its views.
- 浅析Android中的消息机制-解决:Only the original thread that created a view hierarchy can touch its views.
- 浅析Android中的消息机制-解决:Only the original thread that created a view hierarchy can touch its views.