1

アクティビティに 4 つのタブがあります。

それぞれが Fragment です。そして、すべての Fragment には ListView があります。

したがって、フラグメントの ListView を変更すると、他のすべてのフラグメント、つまりタブの ListView を変更する必要があります。

私が直面している問題は、インターフェイス インスタンスの作成中です。

独自の onClick() メソッドを使用します。

親アクティビティへのコールバックが必要な場合は、onAttachをオーバーライドすることでそれを行うことができました。しかし、フラグメントへのコールバックを行う方法は?

開発者サイトから:

たとえば、ユーザー イベントに基づいてコンテンツを変更する場合など、ある Fragment が別の Fragment と通信することが必要になることがよくあります。すべてのフラグメント間の通信は、関連付けられたアクティビティを通じて行われます。2 つのフラグメントが直接通信することはありません。

それで、アクティビティへのコールバックを行い、それが他のフラグメントへのコールバックを行いますか??

ありがとうございました

4

1 に答える 1

1

それは非常に簡単です。必要なのは以下の手順だけです。

1)onClick最初のフラグメントのメソッドから、アクティビティの関数呼び出しを行います。

((IYourActivityInterface) getActivty()).activityMethod();

2) アクティビティで、タグまたは ID でフラグメントを見つけて、そのメソッドを実行します。

public void activityMethod(){
    Fragment tabFragment = getFragmentManager().findFragmentByTag("second_fragment");
    // or Fragment tabFragment = getFragmentManager().findFragmentById(R.id.frag);
    if (tabFragment!=null){
       ((IFragmentInterface) tabFragment).fragmentMethod();
    }
}

これがあなたが探しているものであることを願っています。)

于 2012-12-18T09:53:50.080 に答える