Запретить возврат или закрытие приложения - PullRequest
0 голосов
/ 26 мая 2018

У меня есть приложение чата, и я создал действие по удалению учетной записи, если пользователь хочет удалить свою учетную запись, и я успешно сделал это без проблем, но моя проблема заключается в том, что я хочу переместить пользователя в действие регистрации, нопроблема в том, что пользователь может вернуться к удалению активности учетной записи, функция удаления состоит из активности и внутри фрагмента.

Я пытаюсь использовать getActivity().finish(), но при нажатии кнопки назад она возвращает кудалить активность без фрагмента!

С другой стороны, я думаю закрыть приложение, но некоторые люди говорят мне, что это уродливое решение.

1 Ответ

0 голосов
/ 26 мая 2018

Закрытие действия всегда должно выполняться самой деятельностью, поэтому всегда полезно использовать интерфейс для взаимодействия из фрагмента в действие согласно документам: Общение с действием из фрагмента .

Activity: -

public class DeleteAccountActivity extends AppCompatActivity implements DeleteUserFragment.DeleteCompletedCallback {

   public void onDeleteCompleted() {
      Intent intent = new Intent(DeleteAccountActivity.this,RegisterAccountActivity.class);
      startActivity(intent);
      finish();
   }       
}

Fragment: -

public class DeleteUserFragment extends Fragment {
   private DeleteCompletedCallback deleteCompletedCallback;//Creating A Callback For Interaction With Activity In The Fragtment.

   @Override
   public void onAttach(Activity activity) {
     super.onAttach(activity);
     deleteCompletedCallback = (DeleteCompletedCallback) activity;
   }

   public interface DeleteCompletedCallback{//Making The Interface To Be Implemented In The Activity.
       void onDeleteCompleted();
   }        
  }
}

Напишите эти строки после того, как пользователь успешно удален, возможно что-тоКак это: -

if(isUserDeleted())
{
 if(deleteCompletedCallback != null)
    {
      deleteCompletedCallback.onDeleteCompleted();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...