Android返回上一页面的方式

三种方式: 

1.调用系统使用的Action Bar

Action Bar是一种新増的导航栏功能,在Android 3.0之后加入到系统的API当中,它标识了用户当前操作界面的位置,并提供了额外的用户动作、界面导航等功能。       

       简单来说,就是系统提供的标准组件,让我们方便的实现后退功能。

       ActionBar的添加非常简单,只需要在AndroidManifest.xml中指定Application或Activity的theme是Theme.Holo或其子类就可以了。

       但有一点要注意的是,如果要在Java代码中操作ActionBar,例如setTitle,指定其文字,必须在onStart方法中进行,而不能是onCreate方法,因为在系统周期中,onStart方法时View才是可见的。

@Override
    public void onStart() {
        super.onStart();
        if (mIsInProvision) {
            getActionBar().setTitle(R.string.connect_to_internet);
        }
    }
另外,如果要处理action bar的点击事件,例如点击action bar时禁止后退,只需要在 onOptionsItemSelected 方法中处理 android.R.id.home 的事件就可以了。id.home就是action bar的id。  

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home: 6                     return false;12         }
        return super.onOptionsItemSelected(item);
    }
如上的代码,点击action bar将不能回退。

2.自己定义按钮实现back逻辑

例如back的id为R.id.back,在onClick方法中,switch case中调用finish方法,case R.id.back: finish();back();

如果你是在Activity里面做的话:Activity.this.finish();

如果你是在Fragment里面做的话:getActivity().finish();  

  原理:Android是使用栈来管理Activity的,也就是先进后出的原则。我们每打开一个Activity,就会被压入栈顶,于是调用finish()方法或返回键都会被栈顶弹出(等待系统回收)。这样当一Activity被finish掉,上一个未finish掉的Activity就会被激活,就这样。。
3.手机上的返回键

处理此按键的后退功能,只需要在onBackPressed方法中就可以。

   @Override
     public boolean onBackPressed() {
         return true;
     }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旧时旅人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值