2012-11-06 120 views
0

我在我的應用程序中遇到問題。我創建了一種即興式菜單欄,它必須包含在我的應用程序的所有活動中,我想確定當前正在加載哪個活動,以便通過意圖將該應用程序鏈接到鏈接到按鈕的活動:確定當前活動Android

public void graphAction() 
{ 
    Intent i = new Intent(this, GraphActivity.class); 
    this.startActivity(i); 
} 

回答

0

你可能要考慮使用ActionbarSherlock(http://actionbarsherlock.com/) 但我不明白你爲什麼會想當前活動的活動? 如果graphAction不在活動中,但是有一些自定義對象,只需傳遞活動(或更好:使用上下文對象,活動不應傳遞)

+0

我想目前的活動,因爲在創建意向(使應用程序進入到下一個活動按鈕被點擊時),要求它指的是當前活動 – Luc

+0

了它與ActionbarSherlock工作!謝謝! – Luc

2

請嘗試以下函數以獲取頂級活動名稱。

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(); 
    } 
+0

返回一個帶有活動名稱的字符串,如何將該名稱轉換爲可用於創建意圖的活動變量? – Luc

+1

試試這些, 獲取意圖應該在你的情況下工作: final Intent intent = getIntent(); startActivity(意向); 如果父母活動是A,然後將意圖保存到A的臨時變量和A的OnResume調用中,則調用相同的保存意圖。 或者你可以使用conponentInfo.packagename&classname。 –

相關問題