リサイクラー ビューのフラグメント (A)があります。アイテムを押すと、DialogFragment (そのアイテムの詳細を含む) が表示されます。削除ボタンを押すと、アイテムが削除され、フラグメント A が表示されます (変更あり)。私の質問は、アイテムが削除されたことを通知する方法ですか? 元に戻すオプションのあるスナックバーを表示したいと思います。Googleで何も見つかりませんでした..
ありがとう
リサイクラー ビューのフラグメント (A)があります。アイテムを押すと、DialogFragment (そのアイテムの詳細を含む) が表示されます。削除ボタンを押すと、アイテムが削除され、フラグメント A が表示されます (変更あり)。私の質問は、アイテムが削除されたことを通知する方法ですか? 元に戻すオプションのあるスナックバーを表示したいと思います。Googleで何も見つかりませんでした..
ありがとう
DialogFragment でインターフェイスを定義します。
public interface OnDeletedItem {
void onDeletedItem(Item deletedItem);
}
アクティビティにインターフェースを実装させ、
public class MainActivity
extends AppCompatActivity
implements DialogFragment.OnDeletedItem
@Override
public void onDeletedItem(Item deletedItem) {
// get the Fragment A from fragment manager and notify it via public method to show a Snackbar with the Undo option as desired
FragmentA fragmentA = (FragmentA) getFragmentManager().findFragmentByTag("FragmentA");
fragmentA.showSnackbarForDeletedItem(deletedItem); // implement showSnackbarForDeletedItem or similar method in FragmentA
getSupportFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
}
次に、DialogFragment で [削除] ボタンを押すと、次のようになります。
try {
((OnDeletedItem)getActivity()).onDeletedItem(deletedItem);
} catch (ClassCastException cce) {}