web-dev-qa-db-fra.com

Puis-je avoir un exemple d'affichage d'un pain grillé en utilisant runOnUiThread.

J'ai cherché dans beaucoup d'endroits mais je n'ai pas trouvé d'exemple complet de mise en oeuvre de "runOnUiThread". J'ai beaucoup essayé, mais j'ai eu beaucoup d'erreurs ... Je veux juste afficher un pain grillé à partir d'un fil. 

25
Sourav301

Donc, voici le code complet final. Merci à tous ceux qui ont répondu.

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

        }
    });
}

}

Et à propos du XML, il s’agit du fichier XML créé par défaut. Aucun changement nécessaire.

34
Sourav301
YourActivityName.this.runOnUiThread(new Runnable() {

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

            }
        });
11
Samir Mangroliya

Pour répondre à Nefariis question, j'avais le même problème et je devais faire un toast à partir d'une classe de non-activité. Pour le résoudre, vous pouvez passer le contexte à la fonction depuis laquelle vous appelez runOnUiThread.

Par exemple:

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();
            }
        });
    }
}
0
deepGrave