解决方案 »
- androidGridView --九宫格显示问题
- 高手请进,关于Android3.0版本中PreferenceFragment横竖屏切换dialog消失问题!!!!!!!急~~~~~
- 如何读取android手机收到的彩信,将图片显示到PC机
- viewflipper和mapview的问题
- 手机浏览器
- 怎么保证我随机绘制出的矩形,都在屏幕边框上呢
- 怎么让程序后台运行,然后快捷键呼出程序?
- 怎样在android中实现和java me中playTone一样的功能
- jni开发中用到的so文件用户怎么安装?
- Android R文件消失。。。
- 动态加载 jar找不到jar里面的activity
- 使用微信分享接口时如何防止自己的应用被重新打开
我也不会,帮你顶一下话说,自己试验一下就知道了
嗯··我这两天做了个DEMO试验了,当我把一个handler放在一个线程里面声明的时候。例如
class ChangePicture extends Thread
{
public Handler mHandler;
public void run()
{
Looper.prepare();
mHandler=new Handler()
{
public void handleMessage(Message msg)
{
if(msg.what==0x123)
{
更新UI操作 }
}
}
};
Looper.loop();
}
}
程序是真的跑不了的,一直是进程错误自动闪退的;
而当我把这个handler放在了主线程里面,就真的是可以更新UI而没有报错了;
那换句话说,是不是可以肯定的得出结论:要更新UI的话,对应的handler只能在主线程里面?
嗯··我这两天做了个DEMO试验了,当我把一个handler放在一个线程里面声明的时候。例如
class ChangePicture extends Thread
{
public Handler mHandler;
public void run()
{
Looper.prepare();
mHandler=new Handler()
{
public void handleMessage(Message msg)
{
if(msg.what==0x123)
{
更新UI操作 }
}
}
};
Looper.loop();
}
}
程序是真的跑不了的,一直是进程错误自动闪退的;
而当我把这个handler放在了主线程里面,就真的是可以更新UI而没有报错了;
那换句话说,是不是可以肯定的得出结论:要更新UI的话,对应的handler只能在主线程里面?
是的,需要更新UI就需要在主线程里构造handler,并传递给子线程,在非UI线程里构造Handler的意义就只在于异步消息通知了,可以用在回调处理的地方