Как перейти от действия 3-го к 1-му? - PullRequest
0 голосов
/ 29 октября 2018

У меня проблема с Shared Element Activity Transition между действиями. У меня есть MainActivity, у него есть recyclerview с ящиками (recyclerview.horizont). Каждое поле при нажатии перейдет к соответствующему действию. Проблема, которая появляется, когда я нажимаю на поле, я переключаюсь на второе действие, во втором действии я нажимаю кнопку, чтобы переключиться на третье действие. И здесь я проведу вправо, чтобы вернуться к MainActivity с переходом, и я хочу, чтобы он перешел вправо в поле, соответствующее 3-му действию в представлении реселлера в MainActivity. Итак, моя цель:

MainActivity (переход активности общего элемента) -> вторая активность -> Третье действие (переход активности общего элемента) -> MainActivity (точно прокрутите до позиции для третьего действия в RecyclerView).

My MainActivity Я надеюсь, что все предлагают мне решение. Большое вам спасибо.

1 Ответ

0 голосов
/ 29 октября 2018

Вы можете использовать startActivityForResult вместо startActivity в SecondActivity, когда собираетесь запускать ThirdActivity.

Intent i = new Intent(this, ThirdActivity.class);
startActivityForResult(i, 1);

А когда вы заканчиваете свою третью деятельность

Intent returnIntent = new Intent();
returnIntent.putExtra("activity_finish",true);
setResult(Activity.RESULT_OK,returnIntent);
finish();

Если вы используете startActivityForResult () , то он возвращает обратный вызов в Activity, которая его запустила, поэтому, как только ThirdActivity завершит работу, он вернется к onActvityResult () в SecondActivity. Где вы должны проверить код результата и запросить код:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

if (requestCode == 1) {
    if(resultCode == Activity.RESULT_OK){
        boolean isActivityFinish=data.getBooleanExtra("activity_finish");
         if(isActivityFinish){
          // finish your Second Activity here
          }


    if (resultCode == Activity.RESULT_CANCELED) {
        //Write your code if there's no result
    }
}

}

Для получения дополнительной информации: Как управлять `startActivityForResult` на Android?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...