我有一个类似的代码,它可以工作,但是没有响应,有时我们需要在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();
}
});
}
});