How to raise a toast in AsyncTask, I am prompted to used the Looper

前端 未结 6 1898
春和景丽
春和景丽 2020-11-29 08:20

I have tasks completed by AsyncTask in background. At some point I need to issue a Toast that something is completed.

I\'ve tried and I failed because Caused

相关标签:
6条回答
  • 2020-11-29 08:35

    If you want to display the Toast from the background thread you'll have to call runOnUiThread from doInBackground. I don't believe there's another way.

    Edit: I take that back. I think you can implement onProgressUpdate, which runs on the UI thread, to show the Toast and make calls to publishProgress from doInBackground.

    0 讨论(0)
  • 2020-11-29 08:40

    If you want to display the Toast in doInBackground, you can use it in the OnPostExecute method of AsyncTask.

    protected void onPostExecute(String file_url) {    
       Toast.makeText(getApplicationContext(),"Your Message", Toast.LENGTH_LONG).show();
    
       pDialog.dismiss();//dismiss the progress dialouge
    }
    
    0 讨论(0)
  • 2020-11-29 08:43

    If you want to use Toast You should use this method : onProgressUpdate()

    protected Integer doInBackground(Void...Params) {
       int check_point = 1;
       publishProgress(check_point);
       return check_point;
    }
    
    protected void onProgressUpdate(Integer integers) {
      if(integers == 1) {
        Toast.makeText(classname.this, "Text", 0).show(); 
    }
    
    0 讨论(0)
  • 2020-11-29 08:45

    you can Toast inside doInBackground

    add this code where you want to Toast appear

    runOnUiThread(new Runnable() {
    public void run() {
    
        Toast.makeText(<your class name>.this, "Cool Ha?", Toast.LENGTH_SHORT).show();
        }
    });
    
    0 讨论(0)
  • onPostExecute - executes on UI thread or publishProgress(); in your doinbackground and

    protected void onProgressUpdate(Integer... progress) {
    }
    

    http://developer.android.com/reference/android/os/AsyncTask.html

    0 讨论(0)
  • 2020-11-29 08:50

    You can also use runOnUiThread method to manipulate your UI from background threads.

    0 讨论(0)
提交回复
热议问题