1

スタックオーバーフローでトーストについて検索したところ、私の問題に関連する多くのことが見つかりました.しかし、それらのどれも私の問題を解決しませんでした. 私のAndroidアプリでは、お互いに多くのトーストを表示することになっています.しかし、そうしようとすると、次のトーストは現在のトーストが終了するのを待ちます. toast に cancel を使用しても、うまくいかないようです。正確な解決策を教えてください。ありがとうございます。

inflater = getLayoutInflater();
    backgForToast=(ViewGroup) findViewById(R.id.toast_layout_root);
    layout = inflater.inflate(R.layout.toastbackground,backgForToast);
    textForToast = (TextView) layout.findViewById(R.id.text);

    textForToast.setText(toastMessage);
    toast.setGravity(Gravity.TOP|Gravity.LEFT, toastX2-90,toastY2-90);
    toast.setView(layout);
    toast.show();

    Handler handler = new Handler();
    long delay = 500;

    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            toast.cancel();
        }
    }, delay);
4

2 に答える 2

1

これは をキャンセルする基本的な例ですToast:

Toast mytoast;
mytoast = Toast.makeText(getApplicationContext(), "Jorgesys was here!", Toast.LENGTH_LONG);
mytoast.show();
....
....
....
if(CancelToast){
  mytoast.cancel();   //Cancelling the toast!.
}
于 2015-06-02T17:05:46.387 に答える
0

オブジェクトを作成する前に、 でToastオブジェクトを作成する必要があります。Toast.makeTextcancel()

于 2012-07-15T16:09:45.290 に答える