I have a simple ArrayAdapter. I want to set up a listener for every row click of my list such that a new Activity opens. How would I do that? My ArrayAdapter code -
Simply implement AdapterView.OnItemClickListener.
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int pos, long l) {
Intent i = new Intent(this, ProductActivity.class);
i.putExtra("item_id", manager.getItemIdAtIndex(pos));
startActivity(i);
}
Then just set the class with that method as the onItemClickListener in your adaptor.
Assuming you are using a ListActivity
implementing OnItemClickListener
you could use this code:
ArrayAdapter<Object> ad = new ArrayAdapter<Object>(this,
android.R.layout.simple_list_item_checked, items);
setListAdapter(ad);
ListView list = getListView();
list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
//list.setItemChecked(0, true);
list.setOnItemClickListener(this);
EDIT:
Otherwise, if you don't extend ListActivity, have a listview in your layout and replace ListView list = getListView()
with something like ListView list = findViewById(R.id.listView)
. Replace list.setOnItemClickListener(this)
with
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
}
});
Once you have set your adapter using:
mListView.setAdapter(myCountryListAdapter);
Then you can setup a click listener for the listview:
mListView.setOnParentClickListener(new OnClickListener() {
public void onClick(View view,) {
///do what you want the click to do
}
});