使用上下文菜单删除列表视图中的项目

时间:2014-04-15 11:43:40

标签: java android listview contextmenu

我想使用上下文菜单从列表视图中删除条目。 这是我的代码:

@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中使用相同的东西时,所选项目下方的项目将被删除。我该怎么做?

1 个答案:

答案 0 :(得分:0)

这应该有效:

//This is just an hack

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