1

ダイアログを表示し、ボタンが押されたときにカスタムリスナーを呼び出す DialogFragment クラスを実装しました。

このクラスを多くのプロジェクトで再利用したいので、フラグメントを作成するときにリスナーを渡す必要があります。しかし、どうすればそれができるのかわかりません。

フラグメントを再作成する必要がある場合、Android はデフォルトのコンストラクターを呼び出す可能性があり、Bundle がサポートしていないため、Bundle 引数を介してリスナーを渡すことができないため、コンストラクターでリスナーを渡すべきではないことはわかっています。

私が見つけた独自の解決策は、アクティビティにカスタム リスナーを実装させ、onAttach メソッドでチェックすることです。問題は、この方法では実装クラスがオーナー アクティビティに制限され、アプリケーションに適合しない可能性があることです。

より良い解決策を見つけましたか?

ありがとう!

4

1 に答える 1

0

You normally have a static newInstance() method to create your fragment and pass in any values your fragment might need. That's the method to pass your listener to.

Have a look here where a newInstance() method is also used as an example: http://developer.android.com/reference/android/app/Fragment.html

于 2012-10-25T09:16:23.753 に答える