2017-07-11 19 views
0

onResume()から呼び出したいメソッドがあります。フラグメント内のonResume()メソッドのビューを取得できません

onResume():

@Override 
    public void onResume() { 
     super.onResume(); 

     retrieveData(0, false, rootView); 
    } 

onCreateView():

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

     // Set view 
     View rootView = inflater.inflate(R.layout.tab_fragment_1, container, false); 
    ... 
    } 

はあります残念ながら、私の方法は、私はそれをonCreateView()で定義されているビューを、渡す必要が私のretrieveDataメソッドを呼び出す方法はonResume()であるか、rootViewパラメータなしで(理想的ではない)新しいメソッドを作成するだけでいいですか?

インフレータメソッドパラメータがフラグメントインターフェイスの一部であるため、グローバルスコープに移動できません。

答えて

1

あなたの作品ではなく、あなたの断片だけから見ることができます。あなたのフラグメントonCreateView

private View root; 

public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
     root = inflater.inflate(R.layout.fragment_details_buddy, container, false); 
... } 

のようなインスタンス変数としてルートビューを保存し、onResume

編集でそれを呼び出すには、これを実行するには、次のアクティビティからデータを取得するために、 バンドルに渡してください。 Doc

関連する問題