首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

abdroid线程弹出对话框失败解决思路

2012-08-31 
abdroid线程弹出对话框失败我Activity里开启了一个线程,用它来弹出一个对框,可是弹不出来,这是怎么回事?而

abdroid线程弹出对话框失败
我Activity里开启了一个线程,用它来弹出一个对框,可是弹不出来,这是怎么回事?而且Toast也是没有用的。
代码如下:
new Thread()
{
@Override
public void run()
{
Looper.prepare();
try
{
if (!Utility.CheckNetWorkStatus(NewVersionActivity.this))
{
Toast.makeText(NewVersionActivity.this,
"网络连接断开,请检查网络连接", 1000).show();
return;
}
URL url;
url = new URL(mUrl);
URLConnection conn = url.openConnection();
Log.i("upgrade", "open connection to get file size!");
conn.setRequestProperty("Charset", "UTF-8");
fileSize = (long) conn.getContentLength();
AlertDialog.Builder dialog = new AlertDialog.Builder(NewVersionActivity.this);
dialog.setTitle(R.string.tips);
dialog.setMessage(R.string.getsrcwrong);
dialog.setPositiveButton(R.string.ok,new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface arg0, int arg1)
{
}
});
dialog.show();
} catch (Exception e)
{
e.printStackTrace();
Log.e("Exception", e.toString()+" "+fileSize);
}
super.run();
}
}.start();

[解决办法]
AlertDialog,TOAST 要放在主线程里面才可以
[解决办法]
谁规定不可以在非UI线程中,不能操作UI了?那是不能操作Activity的UI.
任何线程都可以作为一个UI thread,不然,那么系统的toast是在哪里弹出的?系统service中怎么弹出ANR的dialog?

热点排行