MainActivity
はTabLayout
とViewPager
です。アンドロイド - オンアクティブ結果ビューページ
TabLayout
には、Tab1、Tab2、Tab3の3つのタブがあります。
私のTab2では、私はGPSを起動するように頼んだ(これは本当に問題ではない)。ポイントは、私は結果コードやデータを待っているいくつかの意図を始めたということです。だから、
status.startResolutionForResult((Activity) parentView.getContext(), REQUEST_CHECK_SETTINGS);
、私は私のFragment
TAB2にOnActivityResult
を呼び出したい場合は、私は私の親の(MainActivity
)onActivityResult
にこのような何かを行う必要があります。
case ACTIVITY_RESULT_FROM_TAB2:{
FragmentManager fragmentManager = getSupportFragmentManager();
Fragment fragment = fragmentManager.findFragmentById(R.id.main_fragment);
if(fragment != null){
((Tab2Fragment) fragment).onActivityResult(requestCode, resultCode, data);
}
}
最後に追加されたフラグメントがTab3だったため、キャスト例外(Tab3はTab2にキャストできません)を返します。をTab2から正しく呼び出すにはどうすればいいですか?
: ビューページャーのリストにフラグメントを追加します。 Tab2にキャストされる " –