Toastが終了してから何かしたい、ってことがあるとします。Toastにはイベントリスナは付けられないのでToastが持つviewの onDetachedWindow()
をオーバーライドして代用できます。
final Toast toast = Toast.makeText(context, "hoge", Toast.LENGTH_SHORT);
new FrameLayout(this) {
{
addView(toast.getView()); // toastのviewをframelayoutでくるむ
toast.setView(this); // framelayoutを新しくtoastに設定する
}
@Override
public void onDetachedFromWindow() {
super.onDetachedFromWindow();
// Toastが終了したあとの処理をする
}
};
toast.show();
検索用キーワード: Toast, onDismiss