Android ゲームを開発しています。このゲームでは、電車が走る線路があります。これは実行中のスレッドです。衝突したときに警告ダイアログを表示したい。エラーを示す警告ダイアログを適用すると、呼び出されていないスレッド内にハンドラーを作成できませんlooper.prepare()
。
質問する
30710 次
6 に答える
15
これはあなたを助けるでしょう:
runOnUiThread(new Runnable() {
@Override
public void run() {
// Your dialog code.
}
});
于 2012-09-13T06:33:24.250 に答える
11
AlertDialog
UI スレッド内で作成する必要があります。そうしないと機能しません。別のスレッドを使用している場合、MessageHandler
またはrunOnUiThread
(runnable を使用して) 使用して内部にダイアログを作成することができます。
于 2012-09-13T06:32:47.433 に答える
7
ハンドラーを使用してこの作業を行うことができます。
Handler mHandler = new Handler(Looper.getMainLooper());
mHandler.post(new Runnable() {
@Override
public void run() {
// Your UI updates here
}
});
于 2012-09-13T06:36:53.220 に答える
6
Activity クラスでハンドラーを作成し、そのハンドラー オブジェクトに対して sendMessage を呼び出すことができます。Handler の handleMessage メソッドにアラートを表示するコードを記述します。例:
活動クラス
Handler mHandler = new Handler()
{
public void handleMessage(Message msg)
{
//Display Alert
}
};
//Thread
Thread thread= new Thread()
{
public void run()
{
//Logic
MHandler.sendEmptyMessage(0);
}
}
于 2012-09-13T06:41:48.693 に答える
2
以下のようにUIスレッドでダイアログを表示する必要があります
runOnUiThread(new Runnable() {
@Override
public void run() {
// Your dialog code.
}
});
于 2012-09-13T06:31:49.590 に答える