在android中按顺序发生事情

时间:2011-06-20 18:11:56

标签: android dialog

我无法按顺序将事情发生在android中。

例如,当用户点击Button时,我希望首先显示ProgressDialog,然后解除,然后TextView更改。我是否需要为每一种方法制定一种方法,或者是我可以实现的方法来实现这一目标。

感谢任何帮助过的人。

2 个答案:

答案 0 :(得分:2)

您可以使用AsyncTask来完成此任务。覆盖doInBackground并使用publishProgressonProgressUpdate更新进度条。然后,在onPostExecute中,更新TextView。

示例(没有publishProgressonProgressUpdate):

    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);

答案 1 :(得分:0)

您可以使用ProgressDialog创建OnDismissListener并在ProgressDialog#setOnDismissListener(DialogInterface.OnDismissListener)上设置它 - 请参阅ProgressDialog#setOnDismissListener