如何在长按列表项时显示一个按钮

3

我需要在长按列表项时显示一个删除按钮。

我已经获取了长按的代码...但不知道如何编写在此长按内显示按钮的代码...

3个回答

5

最终得到了答案...

.xml文件

<ImageButton
        android:id="@+id/imgdelete"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/delete" 
        android:visibility="invisible"/>

.java文件

      lv.setOnItemLongClickListener(new OnItemLongClickListener() {

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

            arg1.findViewById(R.id.imgdelete).setVisibility(View.VISIBLE);
            return false;
        }
    });
}

2

首先,您需要使用代码或在XML文件中设置其属性来使删除按钮不可见。当用户长按后,您需要将该删除按钮设置为可见状态。完成删除操作后,再次将该按钮设置为不可见状态。


0

你可以使用警告对话框。这里是一个例子

listView.setOnItemLongClickListener(new OnItemLongClickListener() {

            public boolean onItemLongClick(AdapterView<?> parent, View view,
                    int position, long id) {
                final CharSequence[] items = { "Delete Item" };


                AlertDialog.Builder builder = new AlertDialog.Builder(
                        [CLASS_NAME].this);
                builder.setTitle("Delete Item");
                builder.setItems(items, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int item) {
                        Intent i;
                        switch (item) {
                        case 0:
                            AlertDialog.Builder builder = new AlertDialog.Builder(
                                    SelectProfile.this);
                            builder.setMessage(
                                    "Are you sure you want to delete?")
                                    .setCancelable(false)
                                    // Prevents user to use "back button"
                                    .setPositiveButton(
                                            "Delete",
                                            new DialogInterface.OnClickListener() {
                                                public void onClick(
                                                        DialogInterface dialog,
                                                        int id) {
                                                    //Todo code here
                                                }
                                            })
                                    .setNegativeButton(
                                            "Cancel",
                                            new DialogInterface.OnClickListener() {
                                                public void onClick(
                                                        DialogInterface dialog,
                                                        int id) {
                                                    dialog.cancel();
                                                }
                                            });
                            builder.show();
                            break;
                        }
                    }
                });
                AlertDialog alert = builder.create();
                alert.show();
                return false;
            }
        });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接