0

CountdownTimer内でトーストを使用したいのですが、問題はトーストのカウントが遅すぎて、新しいアクティビティがスターになったときにトーストのカウントが終了しないことです。TextViewを使用する方が簡単なことはわかっていますが、それかどうかを知りたかっただけです。可能です。何かアイデアはありますか?

@Override
public void onClick(View arg0) {
    // TODO Auto-generated method stub
    if(Edt.getText().toString().length() == 0){
        Toast.makeText(MainActivity.this,"What, bro?",Toast.LENGTH_LONG).show();
    }else if(sec.getText().toString().length() == 0){
        Toast.makeText(MainActivity.this,"When, bro?",Toast.LENGTH_LONG).show();

    }else{
    Event=new String(Edt.getText().toString());
    final int time = Integer.parseInt(sec.getText().toString());


    Intent myInt = new Intent(MainActivity.this,Receiver.class);

    myInt.putExtra("key",Event);
    PendingIntent pendingIntent = PendingIntent.getActivity(MainActivity.this,2,myInt,PendingIntent.FLAG_CANCEL_CURRENT);
    AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
    am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+(time*1000),pendingIntent);


    new CountDownTimer(time*1000, 1000) {

         public void onTick(long millisUntilFinished) {

            Toast.makeText(MainActivity.this,"Alarm starts in"+ +millisUntilFinished/1000 + "seconds",Toast.LENGTH_SHORT).show();

         }

         public void onFinish() {


         }
      }.start();


}
4

1 に答える 1

0

それらがスタックして遅延を引き起こしているという意味であれば、新しいトーストを表示する前に前のトーストをキャンセルする必要があります。

もっと派手なものが必要な場合は、カウントダウンを表示する代わりに PopupWindow を使用してみてください。レイアウトなどの自由度が高くなります。

http://developer.android.com/reference/android/widget/PopupWindow.html

于 2013-03-02T12:16:24.587 に答える