I have a List View which is populated with countries I want to be able to click a an item and have it go to another activity in which i play an audio. my list View:
public class MainActivity extends ListActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_selectable_list_item,getResources()
.getStringArray(R.array.countries)));
}
}
How do I go about adding a onClick just like how you would make one for a button??
ListView listView = getListView(); // hear bind your listview
setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_selectable_list_item,getResources().getStringArray(R.array.countries)));
listView.setAdapter(ListAdapter);
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> listView, View itemView, int itemPosition, long itemId)
{
}
});
}
}
Either use getListView()
to access built in list view, and operate on that:
getListView().setOnItemClickListener();
Or , override onListItemClicked()
in ListActivity
:
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
//--do stuff--
}
override onItemClick()
method
@Override
public void onItemClick(AdapterView<?> arg0, View view, int arg2,
long arg3) {
// TODO Auto-generated method stub
Intent intent = new Intent(getApplicationContext(), Activity2.class);
startActivity(intent);
}
Since your activity extends ListActivity
ListView lv = getListView();
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> listView, View itemView, int itemPosition, long itemId)
{
Intent launchActivity = new Intent(FirstActivity.this, SecondActivity.class);
startActivity(launchActivity);
}
});
U can use context.getlistview() to get the listview. and add setOnItemClickListener to the listview like this.
context.getlistview().setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//Do whatever you want here
}
});
To make it handy just implement OnItemClickListener
to your class
Add this in onCreate
ListView listView = getListView();
listView.setOnItemClickListener(this);
then override onItemClick
like this
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id){
// your code
}
You have to use the setOnItemClickListener method. Here is the code
listview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
// do your code here
}
});
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.