2

を使用しFragmentて、ユーザーが Android アプリケーションに情報を入力できるようにします。情報が入力されている場合、ユーザーが「戻る」キーを押したときに警告が送信されるようにします。彼が変更を放棄することを確認した場合は、Fragmentポップする必要があります。彼が放棄をキャンセルした場合、 はそのFragmentままにしておく必要があります。

私はすでにコールバック関数を使用しonKeyListenerて実装しようとしました。しかし、実行されることはありません。FragmentonKey

どのようにできるのか?

4

2 に答える 2

10

このようなことを試してください。(私はこれをテストできませんでした)

アクティビティで、オーバーライドしますonBackPressed():

@Override
public void onBackPressed() {       
    Fragment frag = getSupportFragmentManager().findFragmentById(R.id.your_container);

    if(frag instanceof TheFragmentYouAreTalkingAbout) {
        ((TheFragmentYouAreTalkingAbout)frag).showConfirmGoBackDialog();
    } else {
        super.onBackPressed();
    }
}

このshowConfirmGoBackDialog()メソッドは、ダイアログ ボックスを作成する必要があります。getFragmentManager().popBackStack();このダイアログでは、押された場合に呼び出し、それ以外の場合は何もしない確認/OK ボタンにリスナーを配置できます。

于 2013-06-23T18:17:25.167 に答える