Reputation: 399
what is wrong with this code?
i try to add a long click listener to an listview, but can't get it right for some reason:
package ch.futurecom.adaptertest;
import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnLongClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class AdapterTestActivity extends ListActivity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
ListView lv = getListView();
lv.setLongClickable(true);
lv.setOnLongClickListener(new OnLongClickListener()
{
@Override
public boolean onLongClick(View v)
{
Toast.makeText(AdapterTestActivity.this, "long clicked", Toast.LENGTH_SHORT).show();
return true;
}
});
lv.setAdapter(new ArrayAdapter<String>(this,R.layout.row,getResources().getStringArray(R.array.items)));
}
}
pastebin links:
AdapterTestActivity.java -> http://pastebin.com/Pw30EkEz
row.xml -> http://pastebin.com/6FajncHT
thanks!
Upvotes: 0
Views: 7384
Reputation: 4356
use setOnItemLongClickListener
insted of setOnLongClickListener
lv.setOnItemLongClickListener (new OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView parent, View view, int position, long id) {
//do your stuff here
}
});
Upvotes: 3
Reputation: 15701
try AdapterView.OnItemLongClickListener as
ListView lv = getListView();
lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener(){
@Override
public boolean onItemLongClick(AdapterView<?> av, View v, int pos, long id)
{
Toast.makeText(AdapterTestActivity .this, "LongClicked", Toast.LENGTH_LONG).show();
}
});
Upvotes: 12