我有一個非常奇怪的問題。它必須處理overridePendingTransition只在1個活動轉換(按下後退按鈕)時才運行正常,並且只在運行Honeycomb的Galaxy Tab 10.1上運行。爲什麼我的overridePendingTransition不能在一個活動上工作
這是情況。我有一個BaseActivity類的擴展活動。我使用它來從android默認值中添加一些轉換更改。 我重寫,像這樣結束()函數:
@Override
public void finish()
{
super.finish();
Log.i(StaticValues.TAG, "Calling finish in ActivityBase");
overridePendingTransition(getAnimationId("slide_in_right") ,getAnimationId("slide_out_right"));
}
我必須爲我使用統一使用getAnimationId不能使用R.anim.slide_in_right /左
也getAnimationId是這個函數的任何那可能想知道:
protected int getAnimationId(String animName)
{
if(mResources == null)
{
mResources = this.getResources();
}
return mResources.getIdentifier(animName, "anim", mPackage);
}
現在來了怪異的部分。當從我的nexus S手機的主Activity上調用基於ActivityBase的任何活動時,這很好用。在我的Galaxy Tab 10.1上調用兩個活動(只是信息活動,指向網頁的鏈接等)時,它也很好用,但在調用第三個活動(一個錄音機)時,轉換是可以的(一張幻燈片),但當退出時通過調用完成或返回按鈕)它看起來像方向改變爲橫向(標準主屏幕,因爲這是一款平板電腦),然後將主要活動加載回原來的樣子。
因爲我給你這個歷史。有人能告訴我爲什麼這可能只發生在那一個活動上,而且只發生在平板電腦上。
public void finish()
{
removeUnsavedRecording();
super.finish();
}
以上是我在我的錄音機活動中被覆蓋的完成功能。