如果从非Activity类调用,setDisplayHomeAsUpEnabled(true)不显示箭头

时间:2012-10-29 16:22:03

标签: android android-actionbar

在我的Activity中,我想在ActionBar图标左侧显示箭头,因此在Activity I中写道:

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),但箭头没有出现,我没有通过Activity或{{1} }作为参数,这是一个问题。

1 个答案:

答案 0 :(得分:2)

您忘了拨打setDisplayHomeAsUpEnabled()方法。