一、ArrayAdapter的介绍以及ListView的用法:
Adapter是数据和视图之间的桥梁,数据在adapter中做处理,然后显示到视图上面。就是用来绑定数据用的。
用一个小例子来介绍一下:
public class FriendActivity extends Activity { private ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //我们设置一个List集合,然后向里边添加几条数据 List<String> ls = new ArrayList<String>(); ls.add("张三"); ls.add("李四"); ls.add("王五"); //获取xml文件中listView控件 listView = (ListView)findViewById(R.id.ayyay_list_list); //然后为listView控件调用setAdapter方法,让数据显示在界面上。 listView.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,ls)); }
使用步骤。
(1)定义一个数组来存放ListView中item的内容(如以上代码中的
ls 集合)。
(2)通过实现ArrayAdapter的构造函数来创建一个ArrayAdapter的对象。
(3)通过ListView的setAdapter()方法绑定ArrayAdapter。
其中第二步有必要说一下的是,ArrayAdapter有多个构造函数,例子中实现的是最常用的一种。
第一个参数为上下文对象,直接可以用this来代替。
第二个参数为一个包含TextView,用来填充ListView的每一行的布局资源ID(在以上代码中的:android.R.layout.simple_list_item_1是系统自带的格式,直接拿来调用了)。
第三个参数为ListView的内容。
二、对ListView对象进行监听:
常用的对ListView对象监听的有三个:
1.OnItemClickListener :监听器在点击该项目的子项时触发
2.OnTouchListener:监听器在触碰到ListView时触发
3.OnScrollListener:监听器在ListView滚动时触发
(1)、OnItemClickListener
public class FriendActivity extends Activity { private ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //我们设置一个List集合,然后向里边添加几条数据 List<String> ls = new ArrayList<String>(); ls.add("张三"); ls.add("李四"); ls.add("王五"); //获取xml文件中listView控件 listView = (ListView)findViewById(R.id.ayyay_list_list); //然后为listView控件调用setAdapter方法,让数据显示在界面上。 listView.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,ls)); //为listView对象进行监听:当点击子项目的时候触发 listView.setOnItemClickListener(new ItemClickEvent()); } //继承OnItemClickListener,当子项目被点击的时候触发 private final class ItemClickEvent implements OnItemClickListener{ @Override //这里需要注意的是第三个参数arg2,这是代表单击第几个选项 public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { //通过单击事件,获得单击选项的内容 String text = listView.getItemAtPosition(arg2)+""; //通过吐丝对象显示出来。 Toast.makeText(getApplicationContext(), text, 1).show(); } } }
可以看到,当单击第二项李四,下边会用吐丝对象显示一个李四
先写到这里,上完课回来写= =
时间: 2024-10-20 07:28:23