2017-01-25 11 views
0

私はViewPagerTabLayoutを1つのアクティビティで持っています。私は3つの断片を表示するためにViewPagerAdapterを使用しています。それを表示しているアクティビティからのフラグメントのインスタンス

ここでは、1つのフラグメントからいくつかの関数を呼び出す必要があります。アクティビティからボタンをクリックすると、フラグメントのリストが変更されます。だから私は、ボタンをクリックすると、その要素がアクティビティで宣言されていないがフラグメントで宣言されているため、フラグメントのリスト要素がnullであるというエラーが発生していました。それでリストを簡単に変更できるように、フラグメントのインスタンス全体をどのように取るか。私が使用している:

(PatientHistoryFragment)getSupportFragmentManager().findFragmentByTag("android:switcher:" 
    + R.id.myRecordsViewPager 
    + ":" 
    + mViewPager.getCurrentItem()); 

が、それはnullを返しています。

誰でも私を助けることができますか? class ViewPagerAdapter extends FragmentStatePagerAdapter

による私の変数

(PatientHistoryFragment)getSupportFragmentManager().findFragmentByTag("android:switcher:" + R.id.myRecordsViewPager + ":" + mViewPager.getCurrentItem()); 

これに - :私のViewPagerAdapterだった

ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager()); 

- :来ていた

+0

より多くのコードとエラーログを投稿してください – Rohit

+0

View.OnClickListenerフィルタ=新しいView.OnClickListener(){ ます。public void onClickの(ビューV){ PatientHistoryFragment患者=(PatientHistoryFragment)getSupportFragmentManager()。findFragmentByTag(」アンドロイド:スイッチャー: "+ R.id.myRecordsViewPager +": "+ mViewPager.getCurrentItem()); patient.filterShow(MyRecords.this、MyRecords.patientPersonUUid); } }; – ritwik

+0

私はmyrecordsの活動から呼び出さなければならないpatienthistoryフラグメントのフィルタの機能がありますが、私は患者変数にnullエラーを受け取ります – ritwik

答えて

0

問題は、私はviewpagerに追加アダプタがあったことでしたヌルが返されました。しかし、私は私のViewPagerAdapterクラスを次のように変更しました: - class ViewPagerAdapter extends FragmentPagerAdapter(要するに私はStateを削除しました)、今は動作します。みんなありがとう:)

関連する問題