开发者

How to remove an array item from a context menu?

I have a ListView and would like to remove a row item when the user long clicks on selects Remove from the context menu.

@Override  
    public void onCreate开发者_StackOverflow中文版ContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {  

        super.onCreateContextMenu(menu, v, menuInfo);  
        menu.setHeaderTitle("Selection Options");  
        menu.add(0, v.getId(), 0, "Remove Symbol");  
    }  

    @Override  
    public boolean onContextItemSelected(MenuItem item) {  
        if(item.getTitle()=="Remove Symbol"){
            Toast.makeText(this, "Remove clicked!", Toast.LENGTH_SHORT).show();
        }  
        else {
            return false;
        }  

        return true;  
    }  

How can I get a reference to the row number that was clicked, so I can remove that index from my array?


In your onContextItemSelected callback, you can use this code to get the id of the item.

@Override
  public boolean onContextItemSelected(MenuItem item) {
     AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
     removeItemFromListById(info.id);
  }

Source:

Creating Menus | Android Developers

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜