nol*_*man 81 android android-intent onitemclicklistener actionbarsherlock
如何onClickListener为Action Bar的Home按钮实现自定义?
我已经做了一个getSupportActionBar().setDisplayHomeAsUpEnabled(true);,现在我想将用户重定向到某个活动,以防点击Home按钮.
我尝试过:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
item.setOnMenuItemClickListener(new OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
Intent i = new Intent();
i.setClass(BestemmingActivity.this, StartActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
return true;
}
});
default:
return super.onOptionsItemSelected(item);
}
}
Run Code Online (Sandbox Code Playgroud)
但它永远不会进入onMenuItemClick.
基本上,它就像在这个链接中一样,但它仍然没有进入监听器.
lyn*_*570 110
我用的是actionBarSherlock,之后我们设置supportActionBar.setHomeButtonEnabled(true);
我们可以覆盖onMenuItemSelected方法:
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
int itemId = item.getItemId();
switch (itemId) {
case android.R.id.home:
toggle();
// Toast.makeText(this, "home pressed", Toast.LENGTH_LONG).show();
break;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
我希望这对你有用~~~祝你好运
Saa*_*mud 107
如果有其他人需要解决方案
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == android.R.id.home) {
onBackPressed(); return true;
}
return super.onOptionsItemSelected(item);
}
Run Code Online (Sandbox Code Playgroud)
raj*_*aju 21
如果我们使用系统给定的动作栏下面的代码工作正常
getActionBar().setHomeButtonEnabled(true);
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
int itemId = item.getItemId();
switch (itemId) {
case android.R.id.home:
//do your action here.
break;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
回答了正在发生的事情的一半。如果在 manifest.xml 系统中设置父活动时onOptionsItemSelected没有控制homeAsUp按钮转到父活动。在活动标签中像这样使用:
<activity ... >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.activities.MainActivity" />
</activity>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
97738 次 |
| 最近记录: |