我需要根据所选元素更改某些contextMenuItems的标题。我需要检查元素ID是否为空。如果它是空的,我需要显示项目的更改标题(menu_title_1)。否则应显示标准文本(menu_title_2)。
请在下面找到我目前的代码。
@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo)
{
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.listview, menu);
}
@Override
public boolean onContextItemSelected(MenuItem item)
{
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
final int position = info.position;
final int index = bd.size()-position-1;
final BDItem bdItem = bd.get(index);
MenuItem item_1 = menu.findItem(R.id.menu_1);
// Here is the problem: it does not change the title
if(bdItem.getID().equals(""))
item_1.setTitle(getString(R.string.menu_title_1));
else
item_1.setTitle(getString(R.string.menu_title_2));
switch(item.getItemId())
{
case R.id.menu_1:
...
}
}
答案 0 :(得分:0)
我无法解决它,但现在我解决了这个问题。我不得不编辑onCreateContextMenu并添加一个布尔标志检查ID。那就是......