【发布时间】:2013-04-25 04:04:57
【问题描述】:
我在我的SherlockFragmentActivity 中将一些自定义项放在我的 ActionBarSherlock AB 中:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.menu_builtin, menu);
MenuItem selectAll = menu.findItem(R.id.selectall);
selectAll.setActionView(R.layout.selectalllayout);
return super.onCreateOptionsMenu(menu);
}
当单击自定义项时,onMenuItemSelected 和 onOptionsItemSelected 都不会被调用,而是在我使用 menu.add(String) 添加“标准项”时调用。
我也试过:
selectAll.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
// TODO Auto-generated method stub
return false;
}
});
和
selectAll.getActionView().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
它们也没有被调用。我的布局组件是可点击的,与菜单有关的一切都是从 ABS 导入的,而不是从 android 导入的。
关于这里出了什么问题的任何想法?
【问题讨论】:
-
你使用的是 Fragment 还是 Activity?
-
这是一个 SherlockFragmentActivity。
标签: android android-actionbar actionbarsherlock