Reputation: 1049
It use function OnItemLongClickListener but it also run OnItemClickListener when release button
lv_driver.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) {
builder = new AlertDialog.Builder(MyActivity.this);
builder.setTitle("Be carefull ");
builder.setMessage("Do you want to delete?");
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
delData(i);
}
});
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
builder.show();
return false;
}
});
lv_driver.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Toast.makeText(MyActivity.this, "OnItemclick show ",
Toast.LENGTH_SHORT).show();
}
});
}
When hold down the button it show dialog confirm delete but when release button it show text "OnItemclick show" from toast. How to fix it?
Upvotes: 0
Views: 52
Reputation: 523
Just return true;
instead of returning false in the setOnItemLongClickListener
it must do the trick
change this
lv_driver.setOnItemLongClickListener(new
AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> adapterView, View view,
int i, long l) {
builder = new AlertDialog.Builder(MyActivity.this);
builder.setTitle("Be carefull ");
builder.setMessage("Do you want to delete?");
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
delData(i);
}
});
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
builder.show();
return false;
}
});
to this
lv_driver.setOnItemLongClickListener(new
AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> adapterView, View view,
int i, long l) {
builder = new AlertDialog.Builder(MyActivity.this);
builder.setTitle("Be carefull ");
builder.setMessage("Do you want to delete?");
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
delData(i);
}
});
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
builder.show();
return true;
}
});
Upvotes: 1