Reputation: 900
So, I've seen examples where many are asking how to handle a swipe on the listview but I want to know how I can trigger and AlertDialog while pressing down on a listview item for that specific item. So, when I press and hold on that specific item on the listview, the onTouch method should recognize which item it is.
l.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
int action = event.getAction();
AlertDialog.Builder alert = new AlertDialog.Builder(ctx);
alert.setTitle("Delete Friend?");
alert.setPositiveButton("Delete", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface d, int which) {
//onTouchListener should recognize which friend is being pressed on,
//similar to onItemClickListener
}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//Do Nothing
}
});
if(action == MotionEvent.ACTION_DOWN){
alert.create().show();
}
return false;
}
});
Upvotes: 0
Views: 1458
Reputation: 617
You could use a Long Click Listener.
eg;
listView.setOnItemLongClickListener(new AdapaterView.OnItemLongClickListener(){
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id){
//Add alertDialog here
}
});
Upvotes: 2