web-dev-qa-db-ja.com

フラグメント:戻るボタンを押してカスタマイズしたときに呼び出されるコールバック

断片があります:

_public class MyFragment extends Fragment{
     ...
     @Override
     public View onCreateView(...){...}    
     ...
}
_

私はそれをインスタンス化します:

_MyFragment myFragment = new MyFragment();
_

上記のフラグメントを使用して、現在のフラグメントを置き換えます。

_FragmentManager fragmentManager = activity.getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();

// replace fragment
fragmentTransaction.replace(R.id.fragment_placeholder, myFragment, "myTag");

// NOTE: I did not add to back stack
_

現在、myFragmentが画面に表示されています。注:バックスタックmyFragmentを追加しませんでした。

私の2つの質問:

1。今の場合、私は携帯電話を押しますbackボタン、どのフラグメントのライフサイクルコールバックが呼び出されますか?

2。どうすればカスタマイズできますか戻るボタンMyFragmentクラスのクリックリスナー? (myFragment.getView().setOnclickListenerを実行するように勧めないでください。ただし、MyFragmentクラスで実行してください)

14
Leem.fin

androidx.activity 1.0.0-alpha01 がリリースされ、既存のComponentActivityおよびFragmentActivityの新しい基本クラスであるAppCompatActivityが導入されました。

OnBackPressedCallbackを介してaddOnBackPressedCallbackを登録し、アクティビティのメソッドをオーバーライドすることなく、onBackPressed()コールバックを受信できるようになりました。

0
Darish