它使用函数OnItemLongClickListener,但在释放按钮时也运行OnItemClickListener
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();
}
});
}
按下按钮时,它显示对话框确认删除,但是当按下按钮时,它显示吐司中的文本“ OnItemclick show”。 如何解决?
答案 0 :(得分:1)
只需return true;
而不是在setOnItemLongClickListener
中返回false,它就可以解决问题
更改此
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.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;
}
});