线程 结束的时候 发一个handlemessage给主线程就可以了
解决方案 »
- android4.0自定义锁屏apk形式总结
- Android 自定义view在虚拟机出错
- GLSurfaceView 为什么不能在XML里定义?
- 两个Activity跳转的时候,自定义翻页效果(代码分享)
- java源码 实现网页更新
- android应用开发如何远程连接数据库,求助,讲个大概就行!
- 请问下android不同包内的不同类如何共享数据
- 如果调用android自带联系人带查询功能?
- Android sdk 8 以上版本的开发中,无法联网的问题
- Android 如何定制OTA升级时优化应用界面
- 关于cocos2d-x 游戏移植到android平台出现黑屏的问题
- 新手求助~利用组合控件自定义View并动态加载
public void runAsync(final XXXListener listener){
new Thread(){
public void run(){
// do something
listener.onXXX();
// do something
}
}.start();
}
// 在Main线程调用
runAsync(new XXXListener(){
public void onXXX(){
// 这里就是事件通知了
// 不过这里的代码是在子线程里直接掉的,如果想直接操作UI是不行的,需要配合handler之类的试用。所以说着只是一种设计,不是android特性
}
});2 消息。比如用handler
private static handler = new Handler();
public void runAsync(){
new Thread(){
public void run(){
// do something
handler.sendMessage(xxxxxx);
// do something
}
}.start();
}// 在Main线程调用
handler = new Handler(){
protected void handlerMessage(Message msg){
// 这里就是从子线程来的消息回调了,而且会在main线程里执行
}}
runAsync();3 广播
广播类似于消息通知,查下代码看怎么写吧。
以上代码全屏感觉写,写错了也正常,莫怪。就为表达那么个意思。
new GetRefreshDataTask().execute();
}private class GetMoreDataTask extends AsyncTask<Void,Void,ArrayList>{ @Override
protected ArrayList doInBackground(Void... params) {
// TODO Auto-generated method stub
try {
Thread.sleep(4000);
} catch (InterruptedException e) {
}
return items;
} @Override
protected void onPostExecute(ArrayList result) {
getmoreList();
adapter.notifyDataSetChanged(); // Call onRefreshComplete when the list has been refreshed.
onLoad(); super.onPostExecute(result);
}
}
2. 如果自己new一个Thread,可以加个handler,来处理新开线程后消息的返回.