我想显示这个对话框,而线程试图建立一个连接,但是当我按下启动这个方法的按钮时,对话框不会显示出来。Progressdialog不会显示
0
A
回答
2
它不会显示出来,因为(阻塞)工作是在另一个线程中完成的。这意味着,start()
- Thread
-类的方法不会阻塞。
Ergo,你显示对话框,线程已启动,对话框立即被解除(因此关闭)。
在run()
-method的末尾拨打电话dismiss()
,它应该可以正常工作。
以上可能适用于您,但您不应直接使用Thread
-class。它周围有包装纸,使用起来更舒适。
在Android中,如果您想长期使用UI-Thread,请使用AsyncTask
。
0
另外,要建立在卢卡斯说的上,你可以看看这个例子。
http://www.helloandroid.com/tutorials/using-threads-and-progressdialog
public class ProgressDialogExample extends Activity implements Runnable {
private String pi_string;
private TextView tv;
private ProgressDialog pd;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
tv = (TextView) this.findViewById(R.id.main);
tv.setText("Press any key to start calculation");
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
pd = ProgressDialog.show(this, "Working..", "Calculating Pi", true,
false);
Thread thread = new Thread(this);
thread.start();
return super.onKeyDown(keyCode, event);
}
public void run() {
pi_string = Pi.computePi(800).toString();
handler.sendEmptyMessage(0);
}
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
pd.dismiss();
tv.setText(pi_string);
}
};
}
相关问题
- 1. Android 2.3 ProgressDialog不会显示
- 2. ProgressDialog不会立即显示
- 3. ProgressDialog不显示
- 4. ProgressDialog不显示
- 5. progressDialog不显示
- 6. ProgressDialog不会显示,直到它太迟
- 7. ProgressDialog圈不会在设备上显示
- 8. 将不会在android中显示progressDialog
- 9. Android ProgressDialog不会显示在我的AsyncTask
- 10. ProgressDialog不显示圈
- 11. Android ProgressDialog不显示
- 12. 显示progressdialog不显示在asyctask
- 13. 为什么ProgressDialog不显示?
- 14. ViewPager片段不显示ProgressDialog
- 15. ProgressDialog不显示在android
- 16. 安卓:ProgressDialog不显示
- 17. ProgressDialog显示不正确的
- 18. AsyncTask ProgressDialog不以.get()显示
- 19. 的AsyncTask不显示ProgressDialog
- 20. ProgressDialog不显示。再次
- 21. 显示ProgressDialog onActivityResult
- 22. 显示ProgressDialog Android
- 23. 显示ProgressDialog OnItemClick
- 24. ProgressDialog没有显示
- 25. 未显示Android ProgressDialog
- 26. 的StackOverflowError显示ProgressDialog
- 27. 为什么ProgressDialog不能正确显示?
- 28. 的Android onPreExecute不能显示ProgressDialog
- 29. ProgressDialog不显示,直到doInBackground()完成
- 30. AsyncTask progressdialog不显示,doInBackground阻止UI
我第二卢卡斯对他的回答。 – VendettaDroid
谢谢你,这个工作 – user1629115
@ user1629115,正如我在我的答案更新中提到的那样,你可能会想用这种类型的'AsyncTask'。 –