Android ListView OnItemClick详解
发布时间:2021-11-25 21:24:26 所属栏目:教程 来源:互联网
导读:在Android中ListView的使用较为复杂一点,也就是配置其Adapter,Adapter有几种,有ArrayAdapter,SimpleAdapter等,首先要生成一个ListView(当然可以使用ListActivity,此Activity整合了ListView)然后用Adapter来设定ListView的显示数据及布局方式,然后再来响
在Android中ListView的使用较为复杂一点,也就是配置其Adapter,Adapter有几种,有ArrayAdapter,SimpleAdapter等,首先要生成一个ListView(当然可以使用ListActivity,此Activity整合了ListView)然后用Adapter来设定ListView的显示数据及布局方式,然后再来响应OnItemClick 事件,或者在ListActivity改写onListItemClick 响应事件函数。 看如下代码演示了使用ListActivity: import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import android.app.ListActivity; import android.os.Bundle; import android.view.View; import android.widget.ListView; import android.widget.SimpleAdapter; public class Test extends ListActivity { @Override protected void onListItemClick(ListView l, View v, int position, long id) { // TODO Auto-generated method stub super.onListItemClick(l, v, position, id); this.setTitle(this.mModelData.get(position).get("type").toString()); } SimpleAdapter adapter = null; private ArrayList<Map<String, Object>> mModelData = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); initModelData(); adapter = new SimpleAdapter(this, mModelData, android.R.layout.two_line_list_item, new String[]{"name"}, new int[]{android.R.id.text1}); this.setListAdapter(adapter); //setContentView(R.layout.main); } public void initModelData() { mModelData = new ArrayList<Map<String, Object>>(); Map<String, Object> item = new HashMap<String,Object>(); item.put("name", "Linux");item.put("type", "OS"); mModelData.add(item); Map<String, Object> item2 = new HashMap<String,Object>(); item2.put("name", "Android");item2.put("type", "Platform"); mModelData.add(item2); Map<String, Object> item3 = new HashMap<String,Object>(); item3.put("name", "Tomato");item3.put("type", "Fruit"); mModelData.add(item3); } } 下面代码显示了,使用ListView + Activity: import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.AdapterView.OnItemClickListener; public class TestStringList extends Activity implements OnItemClickListener { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { this.setTitle("You Click Item:" + String.valueOf(arg2)); } private ListView mListView = null; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); mListView = new ListView(this); mListView.setOnItemClickListener(this); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_checked, new String[]{"ItemA", "ItemB", "ItemC"}); mListView.setAdapter(adapter); this.setContentView(mListView); } } ![]() (编辑:南通站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |