私はその作成時にそれを渡すことDialogFragment
によっていくつかの仕事をするものを持っています。listener
リスナーは、Fragment
必要なインターフェイスを実装するインスタンスです。すべてが順調ですが、向きを変えるとすべてが再現され、私は行方不明listener
になっているので、にぶつかるだけですNullPointeException
。この状況に対処する方法は?DialogFragment
向きが変わったら閉じるだけでいいですか?ユーザーがこの動作を気に入らないと思います。だから私は再作成する必要がありlistener
ます...しかしどのように?
質問する
2369 次
1 に答える
3
この方法を使ってみませんかFragment#setTargetFragment
。そのようです
public class Fragment1 extends Fragment {
...
public void createFragment2(){
final Fragment dialogFragment = new MyDialogFragment();
dialogFragment.setTargetFragment(this);
dialogFragment.show();
}
}
public class Fragment2 extends DialogFragment{
...
public void onEvent(){
((Fragment1)getTargetFragment()).onEvent();
}
}
于 2012-07-19T21:18:07.583 に答える