Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android RecyclerView,如何使用按钮在刷卡时显示布局_Android_Android Recyclerview - Fatal编程技术网

Android RecyclerView,如何使用按钮在刷卡时显示布局

Android RecyclerView,如何使用按钮在刷卡时显示布局,android,android-recyclerview,Android,Android Recyclerview,我想制作一个类似于gmail应用程序的RecyclerView,在滑动时会显示一个删除按钮和一个编辑按钮 他是我的XML代码 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <FrameLayout

我想制作一个类似于gmail应用程序的RecyclerView,在滑动时会显示一个删除按钮和一个编辑按钮

他是我的XML代码

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <FrameLayout
        android:id="@+id/FlashBarLayout"
        android:layout_width="match_parent"
        android:layout_height="77dp"
        android:layout_gravity="right"
        android:layout_marginBottom="0dp"
        android:background="@color/fab_material_grey_200">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="77dp"
            android:layout_below="@+id/LinearLayout02"
            android:gravity="center|end">

            <TextView
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="0.5"/>

            <ImageView
                android:id="@+id/imageView2"
                android:layout_width="0dp"
                android:layout_weight="0.25"
                android:layout_height="wrap_content"
                android:src="@drawable/ic_create_black_48dp"
                android:paddingRight="5dp"/>

            <ImageView
                android:id="@+id/imageView1"
                android:layout_width="0dp"
                android:layout_weight="0.25"
                android:layout_height="wrap_content"
                android:src="@drawable/ic_delete_black_48dp"
                android:paddingRight="5dp"/>

        </LinearLayout>

    </FrameLayout>

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="77dp"
        android:orientation="vertical"
        android:id="@+id/item"
        android:background="@color/fab_material_white">
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/LinearLayout01">

            <TextView
                android:id="@+id/tvNPreparacion"
                style="@style/EtiquetasResaltadas"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:layout_weight="0.44"
                android:gravity="center_horizontal"
                android:text="@string/NPreparacion" />

            <TextView
                android:id="@+id/tvFecha"
                style="@style/EtiquetasResaltadas"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:layout_weight="0.70"
                android:gravity="center|top"
                android:text="@string/FechaHora" />

            <TextView
                android:id="@+id/tvNPedidos"
                style="@style/EtiquetasResaltadas"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight="1.12"
                android:gravity="center|top"
                android:text="@string/NPedidos" />

            <TextView
                android:id="@+id/tvNAlbaranes"
                style="@style/EtiquetasResaltadas"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:gravity="left"
                android:text="@string/NAlbaranes" />

            <TextView
                android:id="@+id/tvHojasCarga"
                style="@style/EtiquetasResaltadas"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight="1.00"
                android:gravity="left"
                android:text="@string/NHojasCarga" />

            <TextView
                android:id="@+id/tvNFacturas"
                style="@style/EtiquetasResaltadas"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight="0.99"
                android:gravity="left"
                android:text="@string/NFacturas" />

            <TextView
                android:id="@+id/tvNArticulos"
                style="@style/EtiquetasResaltadas"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:layout_weight="0.5"
                android:gravity="left"
                android:text="@string/NArticulos" />

        </LinearLayout>

        <LinearLayout
            android:id="@+id/LinearLayout01"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/tvAgente"
                style="@style/EtiquetasResaltadas"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:gravity="left"
                android:text="@string/Agente" />
        </LinearLayout>

    </RelativeLayout>

</FrameLayout>
在我的onBindViewHolder方法中,我这样做:

mViewHolder.Img_Borrar.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(ActivityVentas.this);

                alertDialogBuilder
                        .setTitle("Eliminar la entrada")
                        .setMessage("¿Está seguro que desea eliminar la entrada seleccionada?")
                        .setCancelable(false)
                        .setPositiveButton("Eliminar entrada", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {
                            }
                        })
                        .setNegativeButton("Cancelar", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {
                                dialog.cancel();
                            }
                        });

                // create alert dialog
                AlertDialog alertDialog = alertDialogBuilder.create();
                // show it
                alertDialog.show();
            }
        });
但我无法单击图像视图


如何定义这个onClick方法?

有些库已经提供了它,有些库已经提供了它
mViewHolder.Img_Borrar.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(ActivityVentas.this);

                alertDialogBuilder
                        .setTitle("Eliminar la entrada")
                        .setMessage("¿Está seguro que desea eliminar la entrada seleccionada?")
                        .setCancelable(false)
                        .setPositiveButton("Eliminar entrada", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {
                            }
                        })
                        .setNegativeButton("Cancelar", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {
                                dialog.cancel();
                            }
                        });

                // create alert dialog
                AlertDialog alertDialog = alertDialogBuilder.create();
                // show it
                alertDialog.show();
            }
        });