我在我的應用程序中遇到問題。我創建了一種即興式菜單欄,它必須包含在我的應用程序的所有活動中,我想確定當前正在加載哪個活動,以便通過意圖將該應用程序鏈接到鏈接到按鈕的活動:確定當前活動Android
public void graphAction()
{
Intent i = new Intent(this, GraphActivity.class);
this.startActivity(i);
}
我在我的應用程序中遇到問題。我創建了一種即興式菜單欄,它必須包含在我的應用程序的所有活動中,我想確定當前正在加載哪個活動,以便通過意圖將該應用程序鏈接到鏈接到按鈕的活動:確定當前活動Android
public void graphAction()
{
Intent i = new Intent(this, GraphActivity.class);
this.startActivity(i);
}
你可能要考慮使用ActionbarSherlock(http://actionbarsherlock.com/) 但我不明白你爲什麼會想當前活動的活動? 如果graphAction不在活動中,但是有一些自定義對象,只需傳遞活動(或更好:使用上下文對象,活動不應傳遞)
請嘗試以下函數以獲取頂級活動名稱。
private String getTopActivityName() {
ActivityManager am = (ActivityManager)getApplicationContext().getSystemService(
ACTIVITY_SERVICE);
// get the info from the currently running task
List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1);
ComponentName componentInfo = taskInfo.get(0).topActivity;
return componentInfo.getShortClassName();
}
返回一個帶有活動名稱的字符串,如何將該名稱轉換爲可用於創建意圖的活動變量? – Luc
試試這些, 獲取意圖應該在你的情況下工作: final Intent intent = getIntent(); startActivity(意向); 如果父母活動是A,然後將意圖保存到A的臨時變量和A的OnResume調用中,則調用相同的保存意圖。 或者你可以使用conponentInfo.packagename&classname。 –
我想目前的活動,因爲在創建意向(使應用程序進入到下一個活動按鈕被點擊時),要求它指的是當前活動 – Luc
了它與ActionbarSherlock工作!謝謝! – Luc