更新选定ContextMenu操作的自定义ListView行



我有一个自定义ListView,其中包括一个自定义row_layout。长按后,您可以从上下文菜单中获得不同的选项。根据用户选择的选项,我想将图像/图标添加到所选行中,以便对其进行标记。

我找不到一个完全涵盖这个用例的答案。我希望能为这个案例提供一些提示、帮助或教程。

提前谢谢。

别管我自己找到了解决方案。我在ListItem-Class中添加了一个布尔变量,在list_row_layout中添加了ImageView,在CustomAdapter类中的ViewHolder类中添加了图像视图。因此,当单击contextItem时,单击的listItem的布尔属性将设置为true。

示例代码:

@Override
public boolean onContextItemSelected(MenuItem item) {
        AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
        int itemPosition = info.position;
        switch (item.getItemId()) {
            case R.id.contextItem1:
                listViewItems.get(itemPosition).setMarkerAttribute(true);
                listView.setAdapter(new MyCustomListAdapter(context, listViewItems));
                return true;
            case R.id.contextItem2:
//do sth
                return true;
            case R.id.contextItem3:
//do sth
                return true;
            default:
                return super.onContextItemSelected(item);
        }
    }

希望这对某人有用,因为很多例子只涉及删除一个项目。。。

最新更新