activity 回退按钮_简叙 Activity 生命周期及android 返回按钮扑捉

@Override

protected void onPostCreate(Bundle savedInstanceState) {

super.onPostCreate(savedInstanceState); //To change body of overridden methods use File | Settings | File Templates.

}

@Override

protected void onStart() {

System.out.println("---------------onStart---------------");

super.onStart(); //To change body of overridden methods use File | Settings | File Templates.

}

@Override

protected void onRestart() {

System.out.println("---------------onRestart---------------");

super.onRestart(); //To change body of overridden methods use File | Settings | File Templates.

}

@Override

protected void onResume() {

System.out.println("---------------onResume---------------");

super.onResume(); //To change body of overridden methods use File | Settings | File Templates.

}

@Override

protected void onPostResume() {

System.out.println("---------------onPostResume---------------");

super.onPostResume(); //To change body of overridden methods use File | Settings | File Templates.

}

@Override

protected void onPause() {

System.out.println("---------------onPause---------------");

super.onPause(); //To change body of overridden methods use File | Settings | File Templates.

}

@Override

protected void onStop() {

System.out.println("---------------onStop---------------");

super.onStop(); //To change body of overridden methods use File | Settings | File Templates.

}

@Override

protected void onDestroy() {

System.out.println("---------------onDestroy---------------");

super.onDestroy(); //To change body of overridden methods use File | Settings | File Templates.

}

public boolean onKeyDown(int keyCode, KeyEvent event) {

if(keyCode== KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0){

Toast.makeText(_context,"点击了返回【onKeyDown】",Toast.LENGTH_LONG).show();

System.out.println("---------------onKeyDown---------------");

this.onBackPressed();

return true; //确认返回了

}

return false; //不允许返回

}

@Override

public void onBackPressed() {

Toast.makeText(_context,"点击了返回【onBackPressed】",Toast.LENGTH_LONG).show();

System.out.println("---------------onBackPressed---------------");

super.onBackPressed();

}

简单的说,

当activity 启动的时候会启动以下方法,按先后顺序

onCreate->onStart->onResume->onPostResume

当按返回的时候,也就是结束这个Activity的时候,先后顺序是:

onPase->onStop->onDestroy

手机键盘“返回”键判断:

如果在你方法中没有onKeyDown()这个方法,而只有如下构造方法

public void onBackPressed() {

Toast.makeText(_context,"点击了返回【onBackPressed】",Toast.LENGTH_LONG).show();

System.out.println("---------------onBackPressed---------------");

super.onBackPressed(); //To change body of overridden methods use File | Settings | File Templates.

}

那么,你键盘点击返回的时候,会调用onBackPressed()方法!

如果onKeyDown以及onBackPressed两个方法同时存在  会优先运行onKeyDown()方法

public boolean onKeyDown(int keyCode, KeyEvent event) {

// keyCode 判断用户是否触发键盘“返回按钮”

if(keyCode== KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0){

Toast.makeText(_context,"点击了返回【onKeyDown】",Toast.LENGTH_LONG).show();

System.out.println("---------------onKeyDown---------------");

this.onBackPressed();

return true; //确认返回了

}

return false; //不允许返回

}

@Override

public void onBackPressed() {

Toast.makeText(_context,"点击了返回【onBackPressed】",Toast.LENGTH_LONG).show();

System.out.println("---------------onBackPressed---------------");

super.onBackPressed(); //To change body of overridden methods use File | Settings | File Templates.

}

分享到:

2011-12-15 12:11

浏览 5002

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值