viewPager内でフラグメントを置き換える方法については他の回答を検索しましたが、役に立たないものです。ViewPagerでフラグメントを置き換える - NPEを取得する
設定は通常ですが、私は2つの断片があります。私はその後、onActivityResultに、私は新しいフラグメントと、現在の断片を置換したいオーバーレイモード(Google検索)で新しいテントを開始し、検索ボタンを持つアクションバーから
[Fragment1] [Fragment2]
。
私はSearchFragmentを完了しており、それを第3のフラグメントとしてタブに追加すると機能します。しかし、私は、Fragment2を新しい検索フラグメントで置き換えたいだけです。
私は、それが役立つsectionsPagerAdapterクラスを持っています。
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { (has extras) }} to activity {com.example.app/com.example.MainActivityTabs}: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at com.example.MainActivityTabs.onActivityResult(MainActivityTabs.java:168)
168(.commitです:エラーでアプリがクラッシュしかし
私はアクションバーで[検索]をクリックすると、だから私は(onActivityResultで焼成このコードを持っている)
SearchFragment searchFragment = new SearchFragment();
FragmentManager fm = getSupportFragmentManager();
fm.beginTransaction().replace(R.id.container, searchFragment)
.addToBackStack(null)
.commit();
);
ボタンを押したときにフラグメントトランザクションが発生しても、少なくともクラッシュすることはありませんが、ページャ内の両方のフラグメントがクリアされます。だからそこには2つの問題があると思う。あなたはonActivityResult()
でフラグメントをコミットする場合、私は同じ問題を通じて来た
おかげ
ビューを追加するページャとアダプタコード – USKMobility
p ostあなたのフルコード –
'onactivityResult()'は、実行可能ファイルをポストするためにいくつかのビューまたはハンドラを使い、その実行可能ファイルにそのタスクを行います。次のようになります: 'new Handler()。post(新しいRunnable(){});' –