ListView的一个小应用

来源:互联网 发布:弗洛伊德算法 path 编辑:程序博客网 时间:2024/06/06 16:56
ListView的一个小应用
ListView对于初学安卓的朋友来说比较陌生,其实就本质而言
ListView是LinerLayout的一种特例,Orientation=“virtical”,且
ListView内部不能插入其他的View控件。有点类似于定义函数时也不能
嵌套这样的性质。经常会碰到一些报错大概是:addview不能包含Adapter
-View,究其原因,就是ListView内部发生了控件的嵌套。
我们经常会利用ListView来实现菜单的功能,比如点击其中的一个
内容,就会跳转到不同的Avtivity中。实现选“菜”。那么这一具体的过程
是怎样的呢?
首先我们需要定义2个layout文件,分别定义ListView控件和TextView控件,
ListView用来设定适配器Adapter和处理点击时间,TextView用来显示输出Adapter传出来的内容。
定义一个class数组和String数组,(这里值得注意的是可以对泛型的数组类进行实例化)
private String[] = new String [] {"第一章","第二章","第三章"}
这里要注意双引号,因为定义的是数组类,所以要求每个元素都要是数组。
private Class[] = new Class [] {sectionone.class,sectiontwo.class,sectionthree.class};
然后就是
findViewById方法来将我们定义的private ListView list与之对应,接着
定义一个ArrayAdapter
arrayAdapter=new ArrayAdapter<String>(getApplicationContext(),R.layout.hi,string);
参数中第一个是得到上下文,也就是this;第二个是要输出的TextView,我们的容器。最后是我们定义的
String类型的数组。定义了arrayAdapter之后我们就可以使用list方法来打开Adapter和设置setOnItemClickListener()
方法,这里的方法是专门对应于Listview的,Item就是ListView中的一个一个项目。
list.setAdapter(ArrayAdapter arrayAdapter);打开之
list.setOnItemClickListener();启动之
观察该函数:


public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {

position就是Listview中所对应的位置,所有的参数我们默认即可。




最后需要实例化Intent对象,参数分别是当前上下文和class类型的数组
Intent intent = new Intent (getApplicationContext(), classes[position]);
最后开启之即可
startActivity(intent);
总结一下:我们这个ListView的小例子总共使用了ArrayAdapter,OnItemClickListener,Intent三个难点
需要注意的就是ArrayAdapter参数的填写。
0 0