2017-10-30 5 views
0

startActivityForResultメソッドを使用して、別のアクティビティからSettingsアクティビティを呼び出しています。戻るボタンをクリックすると、アプリケーションの画面に戻ります。しかし、このアクティビティはすでに設定アクティビティを呼び出す前にロードされていたので、設定アクティビティをバッククリックしてアクティビティをリフレッシュする必要があります。それ、どうやったら出来るの?設定アクティビティからonBackPressedを管理するにはどうすればよいですか?

+1

あなたの言葉の説明に付随する[mcve]を入力してください。 –

答えて

1

最初のアクティビティでonActivityResult()メソッドを実装したいと思うでしょう。このメソッドは、開始したアクティビティがstartActivityForResult()で終了するたびに呼び出されます。 BACKボタンの場合は

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    if (requestCode == yourRequestCode) { 
     // your code here 
    } 
} 

resultCode引数がActivity.RESULT_CANCELEDになります。これは実際には変わるものではありませんが、多くの例ではresultCode == Activity.RESULT_OKのチェックが含まれており、結果コードが他のものであっても処理を行うのは問題ありません。

+0

それは動作します。ありがとうございました。しかし、私は何か変わったことに気づいた。私は全体の状況を説明するつもりです。だから、私は基本的に、特定の設定がアプリの起動時にオンかオフかをチェックしています。設定をオンにすると、キャンセルできないダイアログが表示されます。ダイアログ上のボタンは、ユーザーを設定にリダイレクトします。ユーザーが設定をオフにしてアプリに戻ってきたら、ダイアログが消えてしまいます(私はあなたの言ったことを使っています)。もう少し小さな問題があります。設定はオフで、ダイアログが開き、設定に行き、設定をオンにしてアプリに戻ります。 – Chirag

+0

(続き)ダイアログはそのままであるはずです。私は再び設定に行き、今度は設定をオフにしてアプリに戻ってきます。今回は、ダイアログがまだ表示されています。理由は分かりません。これは、ユーザーが設定アクティビティから戻るたびに、設定がオンかオフかをチェックするので、起こるべきではありません。助けてください。 – Chirag

+0

@Chirag私は助けてくれることをうれしく思っていますが、新しい質問を作成する必要があります。コードを見ることができることは素晴らしいことです。 –

0

だけで更新する必要がする必要がどのような実装方法では

@Override 
public void onResume(){ 
    super.onResume(); 
    // your code... 

} 

を使用しています。

関連する問題