java - 使用 onkeydown 方法或覆盖 onbackbuttonpressed 时,Android 后退按钮会卡住

标签 java android button overriding onkeydown

public boolean onKeyDown(int keyCode, KeyEvent event){

    if (isSub2&&keyCode == KeyEvent.KEYCODE_BACK) {
        Intent intent = new Intent(ctxx, MainActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
        startActivity(intent);

        isReturning = true;

        return false;
    }
    else {
    return super.onKeyDown(keyCode, event);
    }
    }
}

有两个 Activity Main--Sub2。 当您在 Main 中按下一个按钮时,您可以转到 Sub2。 此代码在 Sub2 中。我想使用底部的后退按钮使 MainActivity 放在堆栈顶部而不杀死 Sub2。

当我在手机上运行它时,一开始一切正常, 但在多次返回 Sub2 并再次进入 Sub2 之后 后退按钮停止工作。

我不知道是什么让后退按钮卡住......有什么想法吗?

ps) 我尝试在方法内部使用处理程序并覆盖 onBackButtonPressed() 而不是使用 onKeyDown.. 但完全没有区别..

最佳答案

不确定为什么您的按钮会卡住。查看您在主要 Activity 中正在做什么会很有帮助。这是一个对我有用且不会卡住的示例:

你可以把它放在主 Activity 中:

@Override
protected void onStart() {
    super.onStart();
    Button button = (Button) findViewById(R.id.button1);
    button.setOnClickListener( new OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent intent = new Intent(MainActivity.this, SubActivity.class);
            //****** Uncomment the following line if you want to re-use the subactivity instead of launching a new one
            //intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
            startActivity(intent);

        }
    });
}

这在子 Activity 中:

@Override
public void onBackPressed() {
    //super.onBackPressed();
    Intent intent = new Intent(this, MainActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
    startActivity(intent);
}

关于java - 使用 onkeydown 方法或覆盖 onbackbuttonpressed 时,Android 后退按钮会卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24496342/

相关文章:

qt - 样式的别名

java - 从 ZonedDateTime 对象获取该月的最后一天

java - 考虑集合属性的表单的脏状态

android - 如何在 Fragment 中显示类似 ListFragment 的进度加载器

android - 如何在 Android 中使用多个自定义测试运行程序?

java - 每次单击按钮时将 View 添加到 Fragment 的 LinearLayout

javascript - 创建递增变量的 javascript 按钮,以便用户可以有效地缩放页面

不同分辨率缩放布局的Android调整大小按钮

java - Java语言规范是否规定了子类中方法重写的规则?

java - Shell 脚本 - 检查 java bin