[英]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。 所以你可以使用context
來toast
用這個
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.