0
正如標題內重新啓動一個活動,我看過一些文章。我寫這個是爲了這樣做。
一個tabactivity
public class TabManager {
private static Context tabAct;
private static final String TAG = "TabManager";
public static void setTabActivity(Context t) {
Log.i(TAG, "setTabActivity");
tabAct = t;
}
public static void restart(String tid, Class act) {
Log.i(TAG, "restart " + tid);
LocalActivityManager manager = ((ActivityGroup) tabAct).getLocalActivityManager();
manager.destroyActivity(tid, true);
manager.startActivity(tid, new Intent(tabAct, act));
}
}
然而,當我做
TabManager.restart("tid4", MyActivity.class);
活性被破壞了,但它並沒有啓動。 有人可以給我一些建議嗎? 謝謝!
重量誤差做到了在logcat的表現? – Ronnie
當我做了上面的來源,它沒有拋出任何異常。屏幕沒有改變任何東西。但是,當我點擊其他標籤,然後單擊回來。它拋出了NullPointerException。 – cht
當你打電話重新啓動時,檢查logcat,因爲你在那裏調用'startactivity'。所以它會給出一些錯誤(如果不是例外),說明爲什麼它沒有啓動活動。 – Ronnie