0

アプリに問題があります。アプリのすべてのアクティビティに含める必要がある一種の即興メニューバーを作成しています。インテントを介してアプリケーションがボタンにリンクされているアクティビティにリンクするように、現在ロードされているアクティビティを特定したいと思います。

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

2 に答える 2

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();
    }
于 2012-11-06T14:44:12.257 に答える
0

ActionbarSherlock (http://actionbarsherlock.com/) の使用を検討することもできますが、現在アクティブなアクティビティが必要な理由がわかりません。graphAction がアクティビティではなくカスタム オブジェクトにある場合は、そこにアクティビティを渡すだけです (または、コンテキスト オブジェクトを使用してください。アクティビティを渡す必要はありません)。

于 2012-11-06T14:41:04.940 に答える