多くのアプリ (カレンダー、ドライブ、Play ストア) では、ボタンをタップして新しいアクティビティを入力すると、タイトル バーのアイコンが戻るボタンに変わりますが、私が作成しているアプリでは、そのようにはなりません。そのアイコンで前の画面に戻るようにするにはどうすればよいですか?
ベストアンサー1
タイトル バーに戻るボタンを作成するには、次の 2 つの簡単な手順を実行します。
まず、戻るボタンを配置するタイトル バーのアクティビティで次のコードを使用して、アプリケーション アイコンをクリック可能にします。
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
上記のコードを追加すると、アプリケーション アイコンの左側に戻る矢印が表示されます。
次に、上記の作業を行った後、クリックイベントを利用するコードを作成する必要があります。これを行うには、実際にアプリケーションアイコンをクリックすると、メソッドがonOptionsItemSelected
呼び出されることに注意してください。前のアクティビティに戻るには、そのメソッドをアクティビティに追加し、Intent
前のアクティビティに戻るコードを追加します。たとえば、次のアクティビティを実行しようとしているとします。帰りますが呼び出されますMyActivity
。そこに戻るには、メソッドを次のように記述します。
public boolean onOptionsItemSelected(MenuItem item){
Intent myIntent = new Intent(getApplicationContext(), MyActivity.class);
startActivityForResult(myIntent, 0);
return true;
}
それでおしまい!
(Android 開発者 API では、マニフェストをいじって のようなものを追加することを推奨していますandroid:parentActivityName
。しかし、それはうまくいかないようです。上記のほうがシンプルで信頼性が高いです。)
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity" />
そしてあなたのアクティビティでは
getSupportActionBar().setDisplayHomeAsUpEnabled(true);