2011-06-20 34 views
0

我在按顺序发生事情时遇到了麻烦,而不是在android中一起发生。在android中按顺序发生事情

例如,当用户点击Button时,我想先显示一个ProgressDialog,然后解散,然后TextView被更改。我是否需要为每种方法制定一种方法,还是我可以实施的方法来实现这一点。

感谢任何帮助的人。

+0

你必须更加指定您的问题或者展示一些代码示例。 –

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

Prentice唯一的问题是,用户单击按钮时文本将会改变......这意味着每次点击它时我都必须执行此操作。 – theITRanger22

+0

您可以在onClick按钮中创建AsyncTask的新实例。 –

+0

你能否给我一个像上面那样的例子,除了在按钮点击中添加实例。谢谢你,你到目前为止是一个很好的帮助。 – theITRanger22

相关问题