簡體   English   中英

在選定的ContextMenu操作上更新自定義ListView行

[英]Update Custom ListView Row on selected ContextMenu Action

我有一個包括自定義row_layout的自定義ListView。 長時間單擊后,您會從上下文菜單中獲得不同的選項。 根據用戶選擇的選項,我要向選中的行添加圖像/圖標以進行標記。

我找不到確切涵蓋此用例的答案。 對於這種情況,我將為您提供一些提示或幫助或教程。

提前致謝。

沒關系,我自己一個解決方案。 我將一個布爾變量添加到我的ListItem-類中,並將ImageView添加到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);
        }
    }

希望這對某人有用,因為許多示例僅涉及刪除項目...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM