2012-08-03 8 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

+0

これは他のクラスからも可能ですか?今私のMainActivityは別のクラスのスレッドを開始し、そのクラス/スレッドがトーストメッセージを使用したいと思います。 – Nefariis

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(); 
      } 
     }); 
    } 
} 
関連する問題