Изменить переход активности, когда внутри TabHost - PullRequest
1 голос
/ 13 октября 2011

Я успешно изменил переходы между действиями, используя overridePendingTransition().

К сожалению, когда я нахожусь на TabActivity и использую действия внутри каждой вкладки. Когда одно из этих действий внутри содержимого вкладки запускает другое действие, overridePendingTransition(), похоже, не работает.

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

Анимация перехода этого нового действия не отменяется с помощью overridePendingTransition()

Я в основном делаю это:

private Activity owner;
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    Intent programActivity = new Intent().setClass(view.getContext(), ProgramActivity.class);
    Program program = (Program) parent.getItemAtPosition(position);
    programActivity.putExtra("programID", program.getId());
    owner.startActivity(programActivity);
    owner.overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
}

Итак, я считаю, что ожидающий переход отменяется после того, как я пытаюсь переопределить их.

Есть ли другое место, где я должен это сделать? Я делаю какую-то другую глупую ошибку?

Спасибо!

Ответы [ 2 ]

6 голосов
/ 04 ноября 2014

У меня была похожая проблема с вызовом overridePendingTransition () из фрагмента, поскольку во фрагментах не определен метод overridePendingTransition ().

Я решил это с помощью:

getActivity().overridePendingTransition(R.anim.enterAnim, R.anim.exitAnim);

Надеждаэто помогает.Фрагмент был внутри TabHost.

5 голосов
/ 17 октября 2011

Я обнаружил, что проблема была в том, что мое представление было вложенным действием внутри вкладки.

Чтобы правильно переопределить переходы, я переопределил метод onPause в TabActivity, и теперь онработает как положено.

Примечание. Вам все равно придется использовать overridePendingTransition() на приемнике для ваших предметов, если ваша активность НЕ находится на вкладке.

...