gpt4 book ai didi

android - 在ActionBarSherlock中设置Home应用程序图标的方法

转载 作者:行者123 更新时间:2023-11-29 00:34:01 24 4
gpt4 key购买 nike

我对在 ActionbarSherlock 上设置主页图标的方式感到困惑,当然是这个 ActionBarSherlock 的新手。检查了很多来源,但无法获得如何设置主页图标。下面是我设置 ActionbarSherlock 的类。

public abstract class BaseActivity extends SherlockActivity {

@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuItem miPrefs = menu.add("Login");
miPrefs.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
miPrefs.setOnMenuItemClickListener(new OnMenuItemClickListener() {

@Override
public boolean onMenuItemClick(MenuItem item) {
Intent loginIntent = new Intent(BaseActivity.this, LoginForm.class);
startActivity(loginIntent);
return true;
}
});
return true;
}
}

当然我知道如何在正常操作栏中将应用程序图标设置为主页图标。下面是我平时设置普通actionbar的方式。

public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuItem menu1 = menu.add(0, 0, 0, "Login");
menu1.setIcon(R.drawable.image1);
menu1.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
}

onCreate() 中,我们必须通过 getActionBar() 获取 actionbar,然后使用 actionbar.setDisplayHomeAsEnabled(true),可以将应用程序图标设置为主页图标。通过设置以下我们可以听到点击主页图标。

public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case android.R.id.home:
// Here we can keep the code to get to the mainactivity.
return true;
}
}

另外,当我试图通过 oncreate() 中的 ActionBar actionbar = getSupportActionBar(); 获取 actionbar 时,我得到了这个错误,

Type mismatch: cannot convert from com.actionbarsherlock.app.ActionBar to android.app.ActionBar

我很困惑如何根据ActionbarSherlock的上述代码将应用程序图标设置为主页图标并监听点击。我怎样才能做到这一点?

最佳答案

使应用程序图标在 ActionBar 中可点击(使用 ABS)

@Override
public void onCreate() {
super.onCreate();
getSupportActionBar().setHomeButtonEnabled(true);
}

ABS 是一个库,所以当您想要访问它的功能时,您必须使用它自己的方法/类,不要与默认的 Android 方法/类(例如 getActionBar()getSupportActionBar())。示例代码的一个好地方是 https://github.com/JakeWharton/ActionBarSherlock/tree/master/samples/demos .

监听点击

和上面的一样。

关于android - 在ActionBarSherlock中设置Home应用程序图标的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13696909/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com