У меня есть фрагмент, где я должен реализовать метод onBackPressed(), но он не работаетAndroid onBackPressed() в фрагменте
public void onBackPressed(){
new AlertDialog.Builder(getActivity())
.setTitle(R.string.app_name)
.setMessage("Are you sure you want to exit?")
.setNegativeButton(android.R.string.no, null)
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface arg0, int arg1)
{
((MainActivity)PaymentFragment.this.getActivity()).showOrders();
}
}).create().show();
}
У меня есть 3 метода:
OnCreate:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
onCreateView():
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
btnPayment = (Button) root.findViewById(R.id.btnPayPal);
btnPayment.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(SessionManager.totalPayment>0){
PayPalPayment payment = new PayPalPayment(new BigDecimal(SessionManager.totalPayment), "EUR", "SSSSS",
PayPalPayment.PAYMENT_INTENT_SALE);
Intent intent = new Intent(getActivity(), PaymentActivity.class);
intent.putExtra(PaymentActivity.EXTRA_PAYMENT, payment);
startActivityForResult(intent, 0);
}else{
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getActivity());
alertDialogBuilder.setTitle(R.string.app_name);
alertDialogBuilder
.setMessage(R.string.empty_cart)
.setCancelable(true)
.setPositiveButton(R.string.ok,new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
}
});
return root; //view
}
onActivityResult() - Здесь я иду к деятельности PayPal
@Override
public void onActivityResult (int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK) {
confirm = data.getParcelableExtra(PaymentActivity.EXTRA_RESULT_CONFIRMATION);
if (confirm != null) {
try {
String confirmation = confirm.toJSONObject().toString(4);
...
Я хочу сделать диалоговое окно, в котором, если пользователь подтверждает, что он хочет, чтобы выйти, он идет в showOrders фрагмент. В каком методе я должен включить метод onBackPressed() и как изменить код для работы с фрагментами? Я прочитал несколько статей о StackOverflow, но не ответил на мои вопросы. Спасибо!