您的位置:首页 > 移动开发

.AppException: android.view.ViewRootImpl$CalledFromWrongThreadException: Only t

2014-02-28 16:09 459 查看
错误内容:.AppException: android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.

这是在主线程中使用了销毁时间的操作,容易造成ANR;

解决方案:

private void setData() {
 
  if (null != lineInfos) {
   LineImageAdapter adapter = new LineImageAdapter(
     ((AppContext) getActivity().getApplicationContext()),
     lineInfos, mGridView);
   mGridView.setAdapter(adapter);
   mGridView.setOnItemClickListener(new GridItemClickListener());
  }
 }
改为:private void setData() {
  Message message = new Message();
  message.what = 5;
  handler.sendMessage(message);
 }

 private Handler handler = new Handler() {

  @SuppressWarnings("unchecked")
  @Override
  public void handleMessage(Message msg) {
switch (msg.what) {
case 5:
    if (null != lineInfos) {
     LineImageAdapter adapter = new LineImageAdapter(
       ((AppContext) getActivity().getApplicationContext()),
       lineInfos, mGridView);
     mGridView.setAdapter(adapter);
     mGridView.setOnItemClickListener(new GridItemClickListener());
    }
    break;
   default:
    break;
   }
  }
 };

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐