Android-ActionBar的向上导航

  • ActionBar的向上导航

  今天在使用ActionBar应用图标作为向上导航的响应事件时,只是使用了setDisplayHomeAsUpEnabled(true),运行后傻乎乎得点击图标,为什么不会返回上一层.然后调试了半个下午。

  原来setDisplayHomeAsUpEnabled(true)只会给你添加一个向上的图标,并不会有事件的响应。→_→真是糊涂

  

  Email应用的标准图标(左边)和“向上返回”图标(右边).系统自动加上了“up”标记。

  用户触摸了图标,系统会调用activity的 onOptionsItemSelected() 方法,并带入android.R.id.home ID,请记得在 Intent 上使用 FLAG_ACTIVITY_CLEAR_TOP 标志,这样就不会创建已存在的父activity的新实例。

 1 @Override
 2 public boolean onOptionsItemSelected(MenuItem item) {
 3     switch (item.getItemId()) {
 4         case android.R.id.home:
 5             // action bar中的应用程序图标被点击了,返回home
 6             Intent intent = new Intent(this, HomeActivity.class);
 7             intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
 8             startActivity(intent);
 9             return true;
10         default:
11             return super.onOptionsItemSelected(item);
12     }
13 }

 

posted @ 2014-03-05 21:59  Tsang  阅读(440)  评论(0编辑  收藏  举报