ImageView在列表视图中单击

时间:2018-09-28 11:40:32

标签: listview

我有一个类似的代码,它可以工作,但是没有响应,有时我们需要在imageview上单击两次或三下以显示对话框。请您帮我吗?

    Cursor cursor = dbHelper.fetchAllArticle();

    // The desired columns to be bound
    String[] columns = new String[] {
            DataBaseAdapter.KEY_CODE,
            DataBaseAdapter.KEY_DESIGANTION,
            DataBaseAdapter.KEY_UNITE,
            DataBaseAdapter.KEY_COLISAGE,
            DataBaseAdapter.KEY_APPLICATION
    };

    // the XML defined views which the data will be bound to
    int[] to = new int[] {
            R.id.xcode,
            R.id.xdesignation,
            R.id.xunite,
            R.id.xcolisage,
            R.id.xapplication,
    };

    // create the adapter using the cursor pointing to the desired data
    //as well as the layout information
    dataAdapter = new SimpleCursorAdapter(
            this, R.layout.articleinfo,
            cursor,
            columns,
            to,
            0);



    ListView listView = (ListView) findViewById(R.id.listView1);

    // Assign adapter to ListView
    listView.setAdapter(dataAdapter);   

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view, int position, long viewId) {
                    ImageView ivm= (ImageView) view.findViewById(R.id.imga);
                    final Cursor cursorab = (Cursor) parent.getItemAtPosition(position);
                    ivm.setOnClickListener(new OnClickListener() {
                        @Override
                        public void onClick(View view) {
                           LayoutInflater li = LayoutInflater.from(MainActivity.this);
                           View dialogView = li.inflate(R.layout.ajoutpanier, null);
                            final AlertDialog.Builder alertDialog2 = new AlertDialog.Builder(
                                    MainActivity.this);
                            alertDialog2.setView(dialogView);
                            alertDialog2.setTitle("Information");
                            alertDialog2.setIcon(R.drawable.achat);
                            alertDialog2.setPositiveButton("ok",
                                    new DialogInterface.OnClickListener() {
                                        public void onClick(DialogInterface dialog, int which) {
                                        }
                                    });
                            alertDialog2.setNegativeButton("Annuler",
                                    new DialogInterface.OnClickListener() {
                                        public void onClick(DialogInterface dialog, int which) {
                                            dialog.cancel();
                                        }
                                    });
                            alertDialog2.show();
                        }
                    });
                }
            });


my listview item



        <?xml version="1.0" encoding="utf-8"?>
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:padding="6dip">
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical">
                <TextView
                    android:id="@+id/textView1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textStyle="bold"
                    android:text="Code: "/>
                <TextView
                    android:id="@+id/textView2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textStyle="bold"
                    android:text="Désignation: "/>
                <TextView
                    android:id="@+id/textView3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textStyle="bold"
                    android:text="Unite: "/>

                <TextView
                    android:id="@+id/textView4"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textStyle="bold"
                    android:text="Colisage: "/>
                <TextView
                    android:id="@+id/textView5"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textStyle="bold"
                    android:text="Application: "/>
            </LinearLayout>
            <android.support.v7.widget.AppCompatImageView
                android:id="@+id/imga"
                android:layout_width="30dp"
                android:layout_height="35dp"
                android:layout_gravity="center"
                android:background="@drawable/achat" />
        </LinearLayout>`

    and fragment contains listview

    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.example.tojo.maimoon.one">
    <!-- TODO: Update blank fragment layout
        <TextView android:layout_width="fill_parent"
            android:layout_height="wrap_content" android:padding="10dp"
            android:text="@string/some_text" android:textSize="20sp" />-->
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <EditText android:id="@+id/myFilter" android:layout_width="match_parent"
            android:layout_height="wrap_content" android:ems="10"
            android:hint="@string/some_hint">
    <requestFocus/>
        </EditText>

        <ListView android:id="@+id/listView1" android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:focusable="false"
            android:clickable="false"/>
    </LinearLayout>

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long viewId) {
                ImageView ivm= (ImageView) view.findViewById(R.id.imga);
                final Cursor cursorab = (Cursor) parent.getItemAtPosition(position);
                ivm.setOnClickListener(new OnClickListener() {
                    @Override
                    public void onClick(View view) {
                       LayoutInflater li = LayoutInflater.from(MainActivity.this);
                       View dialogView = li.inflate(R.layout.ajoutpanier, null);
                        final AlertDialog.Builder alertDialog2 = new AlertDialog.Builder(
                                MainActivity.this);
                        alertDialog2.setView(dialogView);
                        alertDialog2.setTitle("Information");
                        alertDialog2.setIcon(R.drawable.achat);
                        alertDialog2.setPositiveButton("ok",
                                new DialogInterface.OnClickListener() {
                                    public void onClick(DialogInterface dialog, int which) {
                                    }
                                });
                        alertDialog2.setNegativeButton("Annuler",
                                new DialogInterface.OnClickListener() {
                                    public void onClick(DialogInterface dialog, int which) {
                                        dialog.cancel();
                                    }
                                });
                        alertDialog2.show();
                    }
                });
            }
        });

0 个答案:

没有答案