Use both onClickListener and onLongClickListener in listview Android 1.6
69,336
Solution 1
Did you return boolean true
at the end of OnLongClickListener
to indicate you don't want further processing?
Solution 2
I think you you should use OnItemLongClickListener() instead of OnLongClickListener().
See developers website for further response
Solution 3
TextView t1 = (TextView) findViewById(R.id.textView1);
t1.isClickable();
t1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(getBaseContext(), "Clicked", Toast.LENGTH_SHORT).show();
}
});
t1.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(getBaseContext(), "Long Clicked", Toast.LENGTH_SHORT).show();
return true;
}
});
Solution 4
itemToClick.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//do your logic on click
});
itemToClick.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// do your logic for long click and remember to return it
return true; }});
Author by
dcanh121
Updated on December 25, 2020Comments
-
dcanh121 over 3 years
I am using both
onClickListener
andonLongClickListener
for a TextView in a ListView. I see that in Android 1.6, the long click listener is fired along with the on click listener meaning both are fired when I long click. But this is not the case in the future versions. Is there any fix for this?@Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { LayoutInflater inflater = getLayoutInflater(); row = inflater.inflate(R.layout.row, parent, false); } TextView tv = (TextView) row.findViewById(R.id.tv); tv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { showMessage(); } }); tv.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { showLongMessage(); } }); }