2017-08-22 7 views
0

私は1つのアクティビティと2つのフラグメントFrag_1とFrag_2を持っています。どちらのフラグメントでも、私はonAttachメソッドをオーバーライドし、各onAttachメソッドの内部にログメッセージがあります。 を実行すると、Frag_1のonAttachメソッドのログメッセージが表示され、Frag_2のonAttachメソッドのログメッセージは表示されません。実際には、 は、Frag2のonAttachが呼び出されない理由を知りたいのですが、その内部のインターフェイスのインスタンスを初期化するためです。onAttachが呼び出されていません

@Override 
public void onAttach(Activity activity) { 
    super.onAttach(activity); 

    iValuePasser = (IValuePasser) activity; 
} 

なぜonAttchコールバックが呼び出されないのか教えてください。

ノートアプリケーションAPIレベルは21

+2

言ったように、それらのいずれかが廃止されました「ONATTACH」と呼ばれる2つのメソッドを持っているあなたは、「公共の無効ONATTACH(コンテキストコンテキスト)をしてみてくださいました"? – kikettas

+0

@kikettasただし、(コンテキストコンテキスト)に変更した場合、onattachはFrag_1とFrag_2のどちらでも呼び出されません。 – user2121

+0

これを無効にすることはできますか?サポートライブラリv4を使用してくださいこのため – notTdar

答えて

0

断片であるドキュメントがFragment

// you should override this 
@Override 
    public void onAttach(Context context) { 
     super.onAttach(context); 
    } 

    //Deprecated 

    @Override 
    public void onAttach(Activity activity) { 
     super.onAttach(activity); 
    } 
関連する問題