我使用的是AsyncTask方法,求高手帮忙。
解决方案 »
- androd的显示区域向下移
- opengl-es学习遇到的问题
- 想在控制台里输入数字,怎么做啊
- 求高人指点notepad里的一些东西
- 我想通过一个c/c++方法来调用android系统层的东西(比如media,libutils),用ndk的方式行吗,用jni方式我该怎么编译呢,程序怎么打包呢?
- android 自定义Dialog 显示问题 ?请求解决
- web app怎么实现文件下载呢,用的是appframework框架!
- libgdx 如何实现微信分享
- 再次请教了
- python服务端Android客户端TCP .ErrnoException: connect failed: ETIMEDOUT
- android抽屉效果问题
- Android上怎么实现FTP的多线程断点下载?
ProgressDialog dialog = null;
//加载进度框
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
dialog = new ProgressDialog(xx.this);
dialog.setTitle("提示");
dialog.setMessage("正在进行操作,请稍候");
dialog.show();
} @Override
protected Object doInBackground(String... params) {
// TODO Auto-generated method stub
//耗时网络操作
。 return null;
} @Override
protected void onPostExecute(Object result) {
// TODO Auto-generated method stub
dialog.cancel();
//在此处调用启动activity界面就可以了
startActivity(new Intent(xx.this,yy.class));
}
}
你应该在ui线程里启动activity
当开始后台线程的时候,为这个线程做一个持有,或者找一个单例持有一个context,
然后当后台线程需要弹出activity的时候到持有的位置去取.
注意一下维护这个变量的存在就好了.当有新的activity时记得去替换下就好了,
一般做一个BaseActivity,然后你在项目中所有Activity都继承它,
在BaseActivity里面做相应的处理就好了.
Handler optionHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
启动activity
break;
}
}
};Message message = optionHandler.obtainMessage(1);
optionHandler.sendMessage(message);
之前一直用handler....