Androidでトーストを表示するにはどうすればいいですか?質問する

Androidでトーストを表示するにはどうすればいいですか?質問する

スライダーを上に引き上げると地図が表示されます。スライダーを上下に動かして地図を表示または非表示にすることができます。地図が前面にあるときは、その地図でタッチ イベントを処理できます。タッチするたびに が起動AsyncTaskし、データをダウンロードして、Toastそのデータを表示する を作成します。タッチ イベントでタスクを開始しても、スライダーを閉じるまでトーストは表示されません。スライダーが閉じられ、地図が表示されなくなると がToast表示されます。

何か案は?

さて、タスクを開始します

編集:

public boolean onTouchEvent(MotionEvent event, MapView mapView){ 
    if (event.getAction() == 1) {
        new TestTask(this).execute();
        return true;            
    }else{
        return false;
    }
 }

そして乾杯しonPostExecuteましょう

Toast.makeText(app.getBaseContext(),(String)data.result, 
                Toast.LENGTH_SHORT).show();

新しい ではTestTask(this)、これは への参照でありMapOverlay、 への参照ではないMapActivityため、これが問題でした。

ベストアンサー1

表示するにはトーストアプリケーションでこれを試してください:

Toast.makeText(getActivity(), (String)data.result, 
   Toast.LENGTH_LONG).show();

もう一つの例:

Toast.makeText(getActivity(), "This is my Toast message!",
   Toast.LENGTH_LONG).show();

期間には 2 つの定数を定義できます。

int LENGTH_LONGビューまたはテキスト通知を長時間表示します。

int LENGTH_SHORTビューまたはテキスト通知を短時間表示します。

トーストをカスタマイズする

LayoutInflater myInflater = LayoutInflater.from(this);
View view = myInflater.inflate(R.layout.your_custom_layout, null);
Toast mytoast = new Toast(this);
mytoast.setView(view);
mytoast.setDuration(Toast.LENGTH_LONG);
mytoast.show();

おすすめ記事