2012-08-03 60 views

回答

34

所以這裏是最後的完整代碼。感謝所有回覆的人。

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Toast; 

public class MainActivity extends Activity { 


@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    MainActivity.this.runOnUiThread(new Runnable() { 

     public void run() { 
      Toast.makeText(MainActivity.this, "This is Toast!!!", Toast.LENGTH_SHORT).show(); 

     } 
    }); 
} 

} 

而關於XML,它是創建的默認XML文件。無需更改。

11
YourActivityName.this.runOnUiThread(new Runnable() { 

      @Override 
      public void run() { 
       Toast.makeText(YourActivityName.this, "This is Toast!!!", Toast.LENGTH_SHORT).show(); 

      } 
     }); 
+1

謝謝!!這正是我想要的。完美的作品。 – Sourav301 2012-08-03 14:38:11

+0

是否有可能從另一個班級做到這一點?現在我的MainActivity在另一個類中啓動一個線程,我希望該類/線程使用Toast消息。 – Nefariis 2014-04-16 19:27:29

0

要回答Nefariis問題,我有同樣的問題,並需要從一個非活動類烤麪包,解決它可以將上下文傳遞到您調用runOnUiThread從。

例如:

public class FlashCardsUtil 
{ 
    public static void fillTableFromFile(SQLiteDatabase pSqLiteDatabase, final Context pContext, String pFileName) 
    { 
     ... 

     runOnUiThread(new Runnable() 
     { 
      public void run() 
      { 
       Toast.makeText(pContext, "Success filling database", Toast.LENGTH_SHORT).show(); 
      } 
     }); 
    } 
}