在Android中按下按钮时触发后退按钮功能

时间:2011-01-10 17:20:13

标签: android

我知道我们在android中有后退按钮可以将我们移回上一个表单,但我的团队负责人要求在按钮上单击后退按钮功能

我该怎么做?

7 个答案:

答案 0 :(得分:118)

当用户点击按钮以进入上一个活动时,您应该使用finish()

Button backButton = (Button)this.findViewById(R.id.back);
backButton.setOnClickListener(new OnClickListener() {
  @Override
  public void onClick(View v) {
    finish();
  }
});

或者,如果您真的需要,可以尝试触发自己的后退按键:

this.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK));
this.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK));

执行这两个。

答案 1 :(得分:34)

如果您需要自定义按钮中后退按钮的确切功能,为什么不以这种方式调用yourActivity.onBackPressed()如果覆盖后退按钮的功能,您的自定义按钮的行为也会相同。

答案 2 :(得分:10)

public boolean onKeyDown(int keyCode, KeyEvent event) {
             if (keyCode == KeyEvent.KEYCODE_BACK) {
                     // your code here
                     return false;
             }
         return super.onKeyDown(keyCode, event);
     }

答案 3 :(得分:7)

layout.xml

<Button
    android:id="@+id/buttonBack"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="finishActivity"
    android:text="Back" />

Activity.java

public void finishActivity(View v){
    finish();
}

相关:

答案 4 :(得分:3)

如果您位于片段中,请在点击监听器中编写以下代码, getActivity().onBackPressed(); 这对我来说非常合适。

答案 5 :(得分:0)

@sahhhm的答案对我不起作用,我需要的是从自定义按钮触发backKey,所以我所做的就是我的简单称呼,

backAction.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                MyRides.super.onBackPressed();

            }
});

它就像魅力一样工作。希望这将帮助其他人了。

答案 6 :(得分:0)

使用此代码我解决了我的问题。对于后退按钮,粘贴这两行代码。希望对您有帮助。

仅在单击按钮时粘贴此代码  onBackPressed();