以下是我片段中的代码
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Log.e("aaa", "ee");
switch (item.getItemId()) {
case R.id.edit:
Log.e("sssssss","SSSSSSSSSSSSSSs");
Intent editIntent = new Intent(getActivity(),
EditCustomerProfile.class);
//startActivityForResult(editIntent, EditProfile);
startActivity(editIntent);
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
我可以在操作栏中看到菜单项。
我像这样夸大菜单:
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
int currentTab = mViewPager.getCurrentItem();
if (currentTab == 1) {
menu.clear();
inflater.inflate(R.menu.all_addresses, menu);
} else if (currentTab == 0) {
menu.clear();
inflater.inflate(R.menu.profile, menu);
}
return super.onPrepareOptionsMenu(menu);
}
我说的是个人资料菜单
但是当我点击编辑时,没有任何反应,即使日志不能正常工作
答案 0 :(得分:2)
您似乎正在通过活动创建菜单,但正在尝试拦截片段中的菜单项选择。
为了使片段包含在onOptionItemSelected()
的调用堆栈中,您应该确保该片段在其各自的hasOptionsMenu(true)
中调用了onCreate()
。