مدیریت onBackPressed در فرگمنت
سه شنبه, ۴ آذر ۱۳۹۹، ۰۹:۲۸ ق.ظ
قبلا برای مدیریت onBackPressed در فرگمنت از روش سنتی استفاده میکردیم! بدین صورت که در اکتیویتی اصلی که host فرگمنت هست، فرگمنت فعلی رو میگرفتیم و بررسی میکردیم کدوم فرگمنت هست و با توجه به آن، دکمه بک مدیریت میشد.
ولی الآن و مخصوصا با ظهور navigation Component، این قضیه رو توی هر فرگمنت و به صورت زیر مدیریت میکنیم:
public class MyFragment extends Fragment {
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// This callback will only be called when MyFragment is at least Started.
OnBackPressedCallback callback = new OnBackPressedCallback(true /* enabled by default */) {
@Override
public void handleOnBackPressed() {
// Handle the back button event
}
};
requireActivity().getOnBackPressedDispatcher().addCallback(this, callback);
// The callback can be enabled or disabled here or in handleOnBackPressed()
}
...
}
منبع کد و مطالب نوشته شده: سایت اندروید
۹۹/۰۹/۰۴