簡體   English   中英

從uiThread Runnable中顯示Toast消息?

[英]Show a Toast message from inside uiThread Runnable?

我想在UiThread上運行的線程中顯示一個Toast消息,但是看起來我的調用中沒有正確引用Runnable。 請參閱下面我的基本實現:

this.runOnUiThread(new Runnable() {
     public void run() {
                Toast.makeText(this, "Authenticated.", Toast.LENGTH_SHORT).show();
            }
        }
);

我相信不是makeText函數所需的實際runnable。 在這種情況下,你如何獲得實際的Runnable?

不要使用this關鍵字,最佳做法是創建Context變量並在onCreate方法中初始化它,並使用活動中的每個位置。

Context context;

@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.layoutname);
    context=this;
}   

現在使用它像這樣:

this.runOnUiThread(new Runnable() {
     public void run() {
                Toast.makeText(context, "Authenticated.", Toast.LENGTH_SHORT).show();
            }
        }
);

在您的情況下,這指的是runnable類而不是Context。 所以你可以使用contexttoast

用這個

this.runOnUiThread(new Runnable() {
     public void run() {
                Toast.makeText(youractivityname.this, "Authenticated.", Toast.LENGTH_SHORT).show();
            }
        }
);

this指的是runnable類而不是context 所以你可以使用activityname.this

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM