0

私が試みているのは、断片化が終わるまで主な活動を待つことです。断片に問題を起こすことなくコードを実行できます。私は多くの方法を試してきたし、解決策を得ることができません。断片化が完了するのを待つ

if (null == savedInstanceState) { 

     getFragmentManager().beginTransaction() 
       .replace(R.id.container, CameraFragment.newInstance()) 
       .commit(); 
    } 

これは、画像を取得して保存するフラグメントを実行します。

私が抱えている問題は、たとえば、このフラグメントが終了するまで待ってから、メインアクティビティからさらにコードを実行することです。私は解決策を見つけることができません。

編集:解決済み、答えを参照してください。ありがとう!

答えて

1

あなたは混乱しています。あなたはフラグメントを実行しません。あなたはそれを表示します。フラグメントには完了の概念がないため、「フラグメントが完了するのを待つ」方法はありません。何かを行うことを知らせるフラグメントを持っている場合(そのフラグメントを取り除くことを含むかもしれない)、それを行う方法は、フラグメントがコールバックを必要に応じて呼び出すアクティビティに渡すことですユーザーが保存ボタンを押したときのように)。

+0

ありがとうございました、それはもっと理にかなっています。私はコードのすべてを完了した後にフラグメントを取り除こうとしていましたが、役に立たなかったのです。あなたはその道に行くためのアドバイスを持っていますか? – aj21

2
  • あなたのフラグメントは、このようなフラグメントにOnResumeメソッドを実装し
  • 完了したときに実行するために、あなたの活動のメソッドを作成します。

@Override 
public void onResume() { 
    super.onResume(); 
    ((NameOfActivity) getActivity()).afterFragmentComplete(); 
} 

+0

私が正しく理解していれば、このコードは私の断片の中に入り、私の断片からではなく、私の主な活動からコードを実行したいと思います。 – aj21

+0

このコードはフラグメント上にありますが、フラグメントが完成した直後にメインアクティビティのコードが呼び出されます。主なアクティビティはフラグメントが完成するまで待って、MainActivity –

+0

に残っている "afterFragmentComplete()"を実行し、フラグメントがすべてのコードを終了する前にafterFragmentCompleteを実行します。何か案が? – aj21

関連する問題