如何在长按listview项目时创建编辑删除对话框。 Android的

时间:2015-04-21 12:06:18

标签: android sql

所以我有一个自定义列表视图,其中填充了姓名和电话号码。我希望能够长按列表视图中的项目,然后弹出一个对话框,允许我编辑字段或删除行。我怎样才能做到这一点?目前我有下面的代码,如果你longClick,它只删除行。我假设我必须创建一个Dialog类,然后在OnLongItemClickLister中调用它?我不知道如何做到这一点,任何帮助都会很棒。

      lvCustomList.setOnItemLongClickListener(new OnItemLongClickListener() {

        @Override
        public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
                                       int arg2, long arg3) {

            ContactListItems contactListItems = (ContactListItems)arg0.getItemAtPosition(arg2);
            String id = contactListItems.getID();
            String delQuery = "DELETE FROM PHONE_CONTACTS WHERE id='"+id+"' ";
            sqlHandler.executeQuery(delQuery);
            showlist();

            return false;
        }
    });

1 个答案:

答案 0 :(得分:0)

首先,您必须在项目的menu文件夹下的文件夹res处创建新的XML文件。将其命名为main_popup_menu并添加以下代码:

    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/delete"
          android:title="@string/delete"
          android:onClick="doDelete"/>
    </menu>

然后,将其添加到您的onItemLongClickListener

    PopupMenu p = new PopupMenu(ViewDiaryActivity.this, view);
    p.getMenuInflater().inflate(R.menu.main_popup_menu, p.getMenu());
    p.show();

我试过了,它显示了弹出删除按钮。 :d