「Up Navigation を実装するには」の版間の差分
提供: tknotebook
								
												
				 (ページの作成:「Category:コンピュータCategory:Android メインページ>コンピュータの部屋#Android>Android Tips   Up Navigation とは今の画...」)  | 
				 (→マニフェストを変更する)  | 
				||
| 43行: | 43行: | ||
上記はメインアクティビティに戻るための記述ですが、戻り先は任意のアクティビティで大丈夫です。  | 上記はメインアクティビティに戻るための記述ですが、戻り先は任意のアクティビティで大丈夫です。  | ||
| + | |||
| + | ==追記==  | ||
| + | |||
| + | Android 1.14.0 以降では 従来のアクションバーに代わり ツールバーが使われる容易になりました。  | ||
| + | |||
| + | しかし、コード  | ||
| + | |||
| + |  setSupportActionBar(toolbar);  | ||
| + | |||
| + | でツールバーを従来のアクションバーとして扱いことができます。  | ||
2015年10月8日 (木) 15:46時点における版
メインページ>コンピュータの部屋#Android>Android Tips
Up Navigation とは今の画面例のように、アクションバーの左端に矢印が表示され、それを押すと親のアクティビティに戻る動作のことです。
これを実現するには3つの処理が必要です。
Up Navigation の矢印を表示するには、アクティビティの onCreate メソッドなどで
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
とすればOKです。
==Up Navigation の イベントを処理する。
Up Navigation の矢印をタッチすると、アクティビティの onOptionsItemSelected メソッドが呼ばれるので、以下のように処理します。
   @Override
   public boolean onOptionsItemSelected(MenuItem item) {
       switch (item.getItemId()) {
           // Respond to the action bar's Up/Home button
           case android.R.id.home:
               NavUtils.navigateUpFromSameTask(this);
               return true;
       }
       return super.onOptionsItemSelected(item);
   }
マニフェストを変更する
NavUtils.navigateUpFromSameTask(this);
はマニフェストにアクティビティの親アクティビティ(戻り先)を記述しないと落ちます。
マニフェストのアクティビティの記述に以下の行を加えます。
android:parentActivityName=".MainActivity"
上記はメインアクティビティに戻るための記述ですが、戻り先は任意のアクティビティで大丈夫です。
追記
Android 1.14.0 以降では 従来のアクションバーに代わり ツールバーが使われる容易になりました。
しかし、コード
setSupportActionBar(toolbar);
でツールバーを従来のアクションバーとして扱いことができます。
