[英]Trigger back-button functionality on button click in Android
我知道我們在android中有后退按鈕可以將我們移回到上一個表單上,但是我的團隊負責人要求在按鈕上單擊后退按鈕功能
我怎樣才能做到這一點?
當用戶單擊按鈕以轉到上一個活動時,您應該使用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));
執行這兩個。
如果您需要自定義按鈕中后退按鈕的確切功能,為什么不以這種方式調用yourActivity.onBackPressed() ,如果您覆蓋后退按鈕的功能,您的自定義按鈕將表現相同。
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
// your code here
return false;
}
return super.onKeyDown(keyCode, event);
}
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();
}
有關:
如果你在片段中,那么你在你的點擊監聽器里面寫下面的代碼行, getActivity().onBackPressed();
這對我很有用。
那么@sahhhm的答案對我不起作用,我需要的是從自定義按鈕觸發backKey所以我所做的就是我簡單地調用,
backAction.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MyRides.super.onBackPressed();
}
});
它就像魅力一樣有效。 希望它也能幫助別人。
使用此代碼我解決了我的問題。對於后退按鈕粘貼這兩行代碼。希望這會對你有所幫助。
僅在按鈕單擊時粘貼此代碼
super.onBackPressed();
例:-
Button backButton = (Button)this.findViewById(R.id.back);
backButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
super.onBackPressed();
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.