परिचय
बैक बटन दबाने पर डिफ़ॉल्ट रूप से एक्टिविटी समाप्त होती है (`finish()`)। कस्टम व्यवहार के लिए `onBackPressed()` ओवरराइड करें (या Android 13+ पर `OnBackPressedCallback` का उपयोग करें)।
कार्यान्वयन (लीगेसी)
चरण 1: लेआउट (activity_main.xml)
<Button android:id="@+id/button" android:text="Back to close the activity" android:layout_centerVertical="true" ... />
चरण 2: MainActivity.java
public class MainActivity extends AppCompatActivity {
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = findViewById(R.id.button);
button.setOnClickListener(v -> finish()); // एक्टिविटी समाप्त करें
}
// वैकल्पिक: सिस्टम बैक बटन इंटरसेप्ट करें
@Override
public void onBackPressed() {
// कस्टम लॉजिक, फिर super.onBackPressed() या finish()
super.onBackPressed();
}
}आधुनिक दृष्टिकोण (Android 13+)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getOnBackPressedDispatcher().addCallback(this, new OnBackPressedCallback(true) {
@Override
public void handleOnBackPressed() {
// कस्टम लॉजिक
finish();
}
});
}व्याख्या
- `finish()` वर्तमान एक्टिविटी को समाप्त करता है और बैक स्टैक में पिछली एक्टिविटी पर लौटता है।
- बटन क्लिक पर `finish()` कॉल करना बैक बटन दबाने के समान है।
- नए `OnBackPressedDispatcher` जीवनचक्र-जागरूक है और फ्रैगमेंट्स के साथ बेहतर काम करता है।