contextMenuItem的标题基于所选元素

时间:2014-03-22 18:05:57

标签: android

我需要根据所选元素更改某些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:
           ...
        }
  }    

1 个答案:

答案 0 :(得分:0)

我无法解决它,但现在我解决了这个问题。我不得不编辑onCreateContextMenu并添加一个布尔标志检查ID。那就是......