0

の呼び出し方法に応じてDialogFragment、ダイアログをポップアップするか、の結果に基づいてインテントを開始する、がありdialogFragmentます。基本的に、私DialogFragmentはアクティビティのリストです。これは、電話の方法に応じて、アクティビティに関する詳細情報が必要になるか、アクティビティを開始します。onActivityResult理想的には、基本クラスで、これらの結果を処理するためのに似たものが必要です。いくつかの調査を行ったところ、の代わりにフラグメントを使用している場合は、このメソッドFragmentActivityを使用できることがわかりましたDialogFragment.setTargetFragment()が、それはでは機能しませんFragmentActivity。私に何ができるかについて他に何か提案はありますか?

4

1 に答える 1

0

私の解決策:ダイアログからデータを受信するためのインターフェースを作成します。適切なクラスをDialogに渡し、各関数に実行内容を決定させます。

public interface ListViewDialogReceiver {
    abstract void OnListViewDialogReceived(FragmentActivity activity,AbstractItemType itemSelected);

}

それ以外は、クラスを呼び出すために、ListViewDialogReceiverの適切なインスタンスを作成するだけです。

これについて少し考えた後、クラスがmain関数から作成されると仮定して、インターフェースを単純化することもできます。それでも、このインターフェースは、私が将来何かを処理するために必要になるかもしれないすべての柔軟性を私に与えてくれます。

于 2012-12-07T13:27:58.807 に答える