10

fragmentcallback によって、アクティビティの2 つの間で簡単に通信できますinterfaceParentFragmentその方法に従って、通信するためのインターフェイスを実装しました。

しかし、活動の場合、私は使用していました-

 @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);
        try {
            mCallback = (OnHeadlineSelectedListener) activity;
        } catch (ClassCastException e) {
            throw new ClassCastException(activity.toString()
                    + " must implement OnHeadlineSelectedListener");
        }
    }

そして現在のケースでは、mCallback = (OnHeadlineSelectedListener) getParentFragment();代わりにを使用していmCallback = (OnHeadlineSelectedListener) activity;ます。すべてがうまくいっています。このアプローチは大丈夫ですか?または、代わりに別のスレッドで実行する必要がありますonAttach()か?

4

1 に答える 1

7

キャストとは、特定のオブジェクトが特定のインターフェイスを実装するクラスのインスタンスであることを確認することです (この場合はOnHeadlineSelectedListener)。この時点では、アクティビティ、フラグメント、その他のオブジェクトのタイプは関係ありません。必要なインターフェースを実装している限り、問題ありません。

于 2013-08-12T22:22:45.620 に答える