Android 重写onBackPressed()方法 不执行问题

@Override
public void onBackPressed() {
  // TODO Auto-generated method stub
  super.onBackPressed();
  Toast.makeText(this, "呵呵哈哈", Toast.LENGTH_LONG).show();
  //return ;
}

这样,当按回退健时,activity退出,并且提示"呵呵哈哈"!

当注释掉super.onBackPressed()时,按回退健,只提示"呵呵哈哈"!

onBackPressed()在Activity.class里实现:

public void onBackPressed() {
        finish();
    }

super.onBackPressed()是执行系统的默认动作,就是退出当前activity,所以当我们要重写这个函数时,不要加super.onBackPressed(),就可以不退出activity,执行自己的代码啦~

来自:http://www.2cto.com/kf/201304/204021.html

时间: 2024-11-25 23:49:49

Android 重写onBackPressed()方法 不执行问题的相关文章

android中使用startactivityforresult跳转Activity后需要重写onBackPressed()方法

在android项目中经常会用startactivityforresult从一个Activity跳转到另一个Activity(这里指Activity_A和Activity_B),你可以从Activity_B返回数据到Activity_A中, 但是如果直接按手机返回键,因为并没有返回内容给Activity_A,所以程序会报错. 这事可以通过在Activity_B中重写onBackPressed()方法解决问题,代码如下: private int backCode = 1; @Override pu

为什么重写 equals 方法 必须重写 hashCode

自己学到这,就记录了下来,代码都是自己敲得,有不对的地方希望大神指点出来 如果你重写了equals,比如说是基于对象的内容实现的,而不重写 HashCode,那么很可能某两个对象明明是“相等”,而hashCode却不一样.那么就会返回 false.例如在 HashSet 集合中,不允许存在相同元素,但是当你 new 两个对象,对象内容相同时,在 HashSet 集合中就存在了相同的两个元素,如何解决这个问题?那就要重写 equals 方法,但是重写 equals 方法还不能解决问题,因为在 Ha

重写dispatchKeyEvent方法 按返回键back 执行两次的解决办法

重写dispatchKeyEvent方法 按返回键back 执行两次的解决方法 @Override   public boolean dispatchKeyEvent(KeyEvent event) {           if(event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() != KeyEvent.ACTION_UP) {//不响应按键抬起时的动作                //TODO 代码    

Android中的Sqlite中的onCreate方法和onUpgrade方法的执行时机

今天在做数据库升级的时候,遇到一个问题,就是onCreate方法和onUpgrade方法的执行时机的问题,这个当时在操作的时候,没有弄清楚,很是迷糊,所以写代码的时候出现了很多的问题,所以没办法就去扒源代码看了.不过在此之前我讲解过一篇关于数据库升级的文章,但是那里没有详细的讲解一下这两个方法的执行时机,所以这里就在单独说一下 关于数据库升级的文章:http://blog.csdn.net/jiangwei0910410003/article/details/39670813 不多说,下面直接进

子类实例化,父类构造器中被调用被子类重写的方法,会执行父类还是子类的呢?

public class Test001 { public static void main(String[] args) { new Child(); } }class Father{ private String name = "f"; public Father(){ tell(); } public void tell(){ System.out.println("father "+this.name); }}class Child extends Fath

Android中的Sqlite中的onCreate方法和onUpgrade方法的执行时机--(转)

原文:http://blog.csdn.net/jiangwei0910410003/article/details/46536329 今天在做数据库升级的时候,遇到一个问题,就是onCreate方法和onUpgrade方法的执行时机的问题,这个当时在操作的时候,没有弄清楚,很是迷糊,所以写代码的时候出现了很多的问题,所以没办法就去扒源代码看了.不过在此之前我讲解过一篇关于数据库升级的文章,但是那里没有详细的讲解一下这两个方法的执行时机,所以这里就在单独说一下 关于数据库升级的文章:http:/

Android多线程编程方法及开启步骤

作者:华清远见讲师 实现线程的两种方式 使用继承的方法 class MyThread extends Thread{ @Override public void run(){ //处理具体的逻辑 } } 要启动这个线程,在主线程中新建一个该实例,调用其start()方法即可. 使用实现Runnable借口的方式 class MyThread implements Runnable{ @Override public void run(){ //处理具体的逻辑 } } 开启现成时,使用: MyTh

Android重写ViewPager修改滑动灵敏度

使用ViewPager作为一个页面进行切换,里面可以存放很多View,但有时在操作View时不小心滑动一下就有可能跳到下一页,这并不是我们想要的,这里就需要重写ViewPager修改它的滑动条件 效果图 程序目录结构 BTViewPager.java package com.example.viewpagerdemo; import android.content.Context; import android.support.v4.view.ViewPager; import android.

android AsyncTask 使用方法

AsyncTask和Handler对比 1 ) AsyncTask实现的原理,和适用的优缺点 AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程. 使用的优点: l  简单,快捷 l  过程可控 使用的缺点: l  在使用多个异步操作和并需要进行Ui变更时,就变得复杂起来. 2 )Handler异步实现的原理和适用的优缺点 在Handler