簡體   English   中英

使用上下文菜單刪除列表視圖中的項目

[英]Delete item in the list view using Context Menu

我想使用上下文菜單從列表視圖中刪除一個條目。 這是我的代碼:

@Override
public boolean onContextItemSelected(MenuItem item) {
    // Log.d("", "logger enter onContextItemSelected");
    AdapterContextMenuInfo info = (AdapterContextMenuInfo) item
            .getMenuInfo();
    switch (item.getItemId()) {
    case 1:
        int i = (int) info.id;

        String list_record = separated.get(info.position);

        Utils.removeLabels(this, list_record);
        Log.d("", "labels>>> position: " + info.position);

        separated.remove(info.position);
        Log.d("", "labels>>> separated=" + separated);
        clAdapter.notifyDataSetChanged();

        return true;
    default:
        return super.onContextItemSelected(item);
    }
}

在這里,info.position會提取正確的list_record,但是當我在info.position中使用相同的內容時,所選項目正下方的項目將被刪除。 我該怎么辦?

這應該工作:

//This is just an hack

int id = info.position == 0 ? 0 : info.position -1;
clAdapter.remove(clAdapter.getItem(id));

暫無
暫無

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

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