-1

質問は簡単です。実はメッセージをトーストしようとすると表示されません。これを解決するために私を導いていただけませんか。

  protected String doInBackground(Void... params) {
            if (result.equals("200")) {
              Toast.makeText(CallArduino,appliance + " Success ",Toast.LENGTH_LONG).show();    
          }else { 

                Toast.makeText(CallArduino, "Failed", Toast.LENGTH_SHORT).show();      
          } 


    return "success";
  } 
4

2 に答える 2

4

ToastonPostExecute()バックグラウンド スレッドでは表示できません。たとえば、UI スレッド内で呼び出す必要があります。

于 2012-12-07T15:04:09.500 に答える
3

禁止されているバックグラウンド スレッドで UI 操作を実行しようとしています。

UI 操作 (トーストの表示を含む) はすべて、UI スレッドで実行する必要があります。

onPostExecuteたとえば、メソッドでトーストを表示できます。

protected String doInBackground(Void... params) {
    // do your background stuff
} 

protected void onPostExecute (Result result) {
    if (result.equals("200")) {
        Toast.makeText(CallArduino,appliance + " Success ",Toast.LENGTH_LONG).show();    
    }else { 

        Toast.makeText(CallArduino, "Failed", Toast.LENGTH_SHORT).show();      
    } 
}
于 2012-12-07T15:03:48.337 に答える