2012-08-03 8 views

risposta

34

Quindi, ecco il codice completo finale. Grazie a tutti coloro che hanno risposto.

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(); 

     } 
    }); 
} 

} 

E l'XML, è il file XML predefinito creato. Nessuna modifica necessaria.

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

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

      } 
     }); 
+1

Grazie !! Questo è esattamente quello che volevo. Funziona perfettamente. – Sourav301

+0

È possibile farlo da un'altra classe? in questo momento il mio MainActivity inizia una discussione in un'altra classe e vorrei che quella classe/thread usasse un messaggio tostato. – Nefariis

0

Per rispondere alla domanda Nefariis, ho avuto lo stesso problema e ho dovuto brindare da una classe di non attività, per risolverlo è possibile passare Contesto alla funzione chiamata runOnUiThread da.

Ad esempio:

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(); 
      } 
     }); 
    } 
} 
Problemi correlati