博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android问题汇总
阅读量:6983 次
发布时间:2019-06-27

本文共 1302 字,大约阅读时间需要 4 分钟。

hot3.png

1. Only the original thread that created a view hierarchy can touch its views

在初始化activity是需要下载图片,所以重新开启了一个线程,下载图片更新ui,此时就出现了上面的错误。
原因:就是说在非主线程中不能更新ui
解决:开启的线程下载图片,new 一个handler用来出来更新ui

 

picHandler = new Handler();         /**	 * 更新图片线程	 * 	 * @author Administrator	 * 	 */	class UpdatePic implements Runnable {		@Override		public void run() {		       imageView.setImageBitmap(bitMap);		}	}	/**	 * 下载图片线程	 * 	 * @author Administrator	 * 	 */	class DownloadImage implements Runnable {		@Override		public void run() {			bitMap = PicUtil.getBitmap(tm.getSimSerialNumber());			picHandler.post(updatePic);		}	}

 

2. java.lang.RuntimeException: Unable to instantiate activity ComponentInfo

不能实例化activity有如下三种情况:
1.没有在Manifest.xml 清单中注册该activity,或者在创建完activity后,修改了包名或者activity的类名,而配置清单中没有修改,造成不能实例化。
2.自己新建了一个包,而注册时候依然用的默认包,例如,默认包是com.ghg.Dao包,你新建了一个com.ghg.DaoImpl包,并在此包中写了个FirstActivity,在manifest.xml中注
册时你写的是<activity  android:name=".FirstActivity"/>,此时相当于你在的类注册到了默认包中,系统在默认包中是找不到的,因为你的FirstActivity在com.ghg.DaoImpl包
下,所以你注册时应写成包名加类名,如:<activity android:name="com.ghg.DaoImpl.FirstActivity";这样系统才能在指定的包中找到对应的类。
3.还用一种就是你的FirstActivity定义成了抽象类,这种情况好像一般人不会犯。
如果上述三种情况都考虑到了,还会抛出此异常,那么就查看一下activity类里是否同时存在这个类的构造函数和oncreate(),如果是,那么删除构造函数试试,并把初始化放到
oncreate()中试试。
 

转载于:https://my.oschina.net/OutOfMemory/blog/229129

你可能感兴趣的文章
mysql 同步redis
查看>>
iOS中的一些小知识点
查看>>
Oracle 11g RAC 添加新节点及故障解决案例
查看>>
docker logstash 使用
查看>>
Linux Study之--RedHat EL6配置VNC server
查看>>
负载均衡集群之lvs
查看>>
(三) Graphivz 基本图片类型
查看>>
ubuntu 升级过程中断电时遇到的问题总汇
查看>>
Netscaler基于policy的log action
查看>>
删除sql server 表中的重复数据!
查看>>
水仙花数
查看>>
初识set集合
查看>>
怎么寻回调整分区后盘符丢失的数据
查看>>
警惕!MySQL成数据勒索新目标
查看>>
linux系统学习第一天
查看>>
eclipse的安卓开发插件『ADT』在线安装不成功的解决方案
查看>>
第12章,网络管理(下)网络基础配置
查看>>
DTU是什么 DTU种类及应用领域分析
查看>>
基于Zynq-7000高速数据采集解决方案
查看>>
【VMware vSAN 6.6】5.2.运行状况:我们有软硬件项目解决方案
查看>>