0

こんにちは、

Android で Toast を使用せずにメッセージを数秒間表示するにはどうすればよいですか?

たとえば、ユーザーが正常にログインした場合、「ユーザーが正常にログインしました」などのメッセージが X 秒で消えます。

どうすればいいですか?

どうもありがとうございます

4

5 に答える 5

2
final Handler handler = new Handler();
final AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setMessage("FooBar !");
final AlertDialog dialog = builder.create();
dialog.show();
handler.postDelayed(new Runnable() {
  public void run() {
    dialog.dismiss();    
  }
}, 3000); // Dismiss in 3 Seconds
于 2012-07-03T18:29:24.833 に答える
0

「OK」ボタンでメッセージを閉じたくない場合は、ProgressDialogとして表示し、このように数秒後に自分で閉じることができます...

ProgressDialog pd;

pd = ProgressDialog.show(context, "Title", "sub title");//context is probably `this`

Handler h= new Handler();

Runnable cancelDialog = new Runnable(){
   pd.dismiss();

};

h.postDelayed(cancelDialog, 3000);//this will be called in 3 seconds

さまざまな呼び出しを、関連するメソッドまたはボタンの押下に分散させることができます。ProgressDialog、Handler、およびRunnableをアクティビティに対してグローバルにして、どこからでもこれらの呼び出しを行えるようにします。

ProgressDialogを使用すると、これは自然になくなるだろうとユーザーに感じさせると私は主張します。そうしないと、「却下」されないプロンプトを見つめ、続行する方法について混乱します。

于 2012-07-03T18:28:48.783 に答える
0

PopupWindowを使用して、現在の UI をブロックせずに Toast と同じようにメッセージを表示できますが 、X 秒後にPopupWindow を閉じるには、 runOnUiThreadでスレッドを使用する必要があります。

ポップアップウィンドウの使用例を参照してください

http://android-er.blogspot.in/2012/03/example-of-using-popupwindow.html

于 2012-07-03T18:45:48.290 に答える
0

警告ダイアログ?

http://developer.android.com/reference/android/app/AlertDialog.html

于 2012-07-03T18:24:08.987 に答える
0

これを試して...

while(needToDisplayData)
{
    displayData(); // display the data
    Thread.sleep(10000); // sleep for 10 seconds
}

または、タイマーを使用できます。

int delay = 1000; // delay for 1 sec. 
int period = 10000; // repeat every 10 sec. 
Timer timer = new Timer(); 
timer.scheduleAtFixedRate(new TimerTask() 
    { 
        public void run() 
        { 
            displayData();  // display the data
        } 
    }, delay, period); 

displayData(); で メソッドuはダイアログを使用できます。

于 2012-07-03T18:24:24.567 に答える