我在按顺序发生事情时遇到了麻烦,而不是在android中一起发生。在android中按顺序发生事情
例如,当用户点击Button
时,我想先显示一个ProgressDialog
,然后解散,然后TextView
被更改。我是否需要为每种方法制定一种方法,还是我可以实施的方法来实现这一点。
感谢任何帮助的人。
我在按顺序发生事情时遇到了麻烦,而不是在android中一起发生。在android中按顺序发生事情
例如,当用户点击Button
时,我想先显示一个ProgressDialog
,然后解散,然后TextView
被更改。我是否需要为每种方法制定一种方法,还是我可以实施的方法来实现这一点。
感谢任何帮助的人。
您可以使用AsyncTask来完成此操作。覆盖doInBackground
并使用publishProgress
和onProgressUpdate
来更新您的进度栏。然后,在onPostExecute
中,更新您的TextView。
一个例子(不publishProgress
和onProgressUpdate
):
mTextView = (TextView) findViewById(R.id.text1);
new AsyncTask<Void, Integer, Void>() {
private ProgressDialog mProgressDialog;
@Override
protected Void doInBackground(Void... arg0) {
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
mTextView.setText("All Done");
mProgressDialog.dismiss();
}
@Override
protected void onPreExecute() {
mProgressDialog = ProgressDialog.show(Welcome.this, "Progress title", "Progress message", true);
}
}.execute((Void) null);
Prentice唯一的问题是,用户单击按钮时文本将会改变......这意味着每次点击它时我都必须执行此操作。 – theITRanger22
您可以在onClick按钮中创建AsyncTask的新实例。 –
你能否给我一个像上面那样的例子,除了在按钮点击中添加实例。谢谢你,你到目前为止是一个很好的帮助。 – theITRanger22
您可以创建一个OnDismissListener和使用ProgressDialog#setOnDismissListener(DialogInterface.OnDismissListener)
设置它在你的ProgressDialog
- 见ProgressDialog#setOnDismissListener
你必须更加指定您的问题或者展示一些代码示例。 –
你到目前为止尝试过什么吗?向我们展示一些代码。 –