overridePendingTransition

overridePendingTransition

我已成功使用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);
}


因此,我认为在尝试覆盖未完成的过渡后,它们将被覆盖。

我应该在其他地方吗?
我在犯其他愚蠢的错误吗?

谢谢 !

最佳答案

我从Fragment内调用overridePendingTransition()时遇到了类似的问题,因为Fragments中没有定义overridePendingTransition()方法。

我使用以下方法解决了问题:

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


希望能帮助到你。片段位于TabHost中。

10-08 14:39