3

私のアクティビティでは、ActionBarアイコンの左側に矢印を表示したいので、アクティビティでは次のように記述します。

ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);

正常に動作しますが、初期化を別のクラスに移動ActionBarし、アプリケーションのすべてのアクティビティに使用することにしました。このための新しいクラスは次のとおりです。

    public class Utils {
    public static void initActionBar(Activity activity, boolean homeIconNeeded) {
        ActionBar actionBar = activity.getActionBar();
        actionBar.setIcon(R.drawable.logo);
        actionBar.setHomeButtonEnabled(homeIconNeeded);
        actionBar.setBackgroundDrawable(activity.getResources().getDrawable(R.drawable.action_bar_background));
    }

    public static void initActionBar(ActionBar actionBar, boolean homeIconNeeded) {
        actionBar.setIcon(R.drawable.logo);
        actionBar.setHomeButtonEnabled(true);
        actionBar.setBackgroundDrawable(SmartVmsApplication.getContext().getResources().getDrawable(R.drawable.action_bar_background));
    }
}

次に、私のアクティビティでonCreate()コールバックに挿入しますinitActionBar(this, true)が、矢印が表示されません。渡したActivityActionBar、パラメーターとして使用したかは関係ありません。これは問題です。

4

1 に答える 1

2

setDisplayHomeAsUpEnabled()メソッドを呼び出すのを忘れました。

于 2012-10-29T16:48:41.280 に答える