吐司和异步

时间:2010-11-29 16:42:36

标签: android multithreading asynchronous toast

我在从属线程中有一个toast,需要告诉用户建立连接。要做到这一点,我知道我需要使用Async来实现toast,但我不确定在何处或如何实现扩展异步。如果我理解它,我想我可以创建一个MyAsync与onProgressUpdate()toast?

@Override
public void onProgressUpdate(String... args) {

         Toast.makeText(context, args, Toast.LENGTH_SHORT).show();
}

感谢您的时间 〜Aedon

1 个答案:

答案 0 :(得分:1)

是的,你应该只需要扩展ASyncTask并将模板变量更改为你需要的。 Toast类是一个静态类,因此可以从任何线程调用它而不必担心冲突。

我没有看到您的代码有任何问题,除非您不想经常调用新的Toast消息,因为它们堆叠。因此,如果您要连续调用.show()函数,它会堆叠它们并继续每LENGTH_SHORT间隔显示新的Toast消息,直到它赶上来。

至于ASyncTask的一个例子,你可以去:

private class MyAsync extends AsyncTask<<What to pass in to doInBackground>, <What to pass in to onProgressUpdate>, <What type onPostExecute receives>> {
     protected T (result type to onPostExecute) doInBackground(T... urls) {
         //Do big calculations in here
     }

     protected void onProgressUpdate(T... progress) {
         //Update
     }

     protected void onPostExecute(T result) {
         //Done
     }
 }