那些复杂的列表总要弄个清楚——(一)ListView动态添加项

来源:互联网 发布:java安全开发工程师 编辑:程序博客网 时间:2024/05/22 01:41

ListView和何种列表,困惑了我很久

终于下决心把它们一次性搞搞清楚

 

从动态添加项开始写起吧。

首先我得有个ListView,好,先在xml布局文件里加一个,由于我要写的是动态添加,那么,再来个Button好了

<ListView         android:id="@+id/lv"        android:layout_width="match_parent"        android:layout_height="0dp"        android:layout_weight="8">    </ListView>        <Button         android:id="@+id/btn"        android:layout_width="match_parent"        android:layout_height="0dp"        android:layout_weight="1"        android:layout_marginTop="10dp"        android:text="click the button!"/>

(把它俩放再LinearLayout里边,设置一下layout_weight感觉比较合理些)

其次,在代码中新建ListView和Button,并使用findViewById方法建立连接

ListView list;Button btn;list = (ListView)findViewById(R.id.lv);btn = (Button)findViewById(R.id.btn);


接下来就是想想怎么构造Adapter,首先还是得新建个adapter,当然还有存储数据用的ArrayList(或者其他的)

ArrayList<String> array;ArrayAdapter<String> adapter;array = new ArrayList<String>();adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, array);

第四行里的构造方法,第一个参数是context,第二个是每个列表项的布局,这里使用Android资源,一个简单的textview,第三个参数是存放数据的数组。

配置好了之后,为ListView设置adapter

list.setAdapter(adapter);

开始实现动态添加,为button设置监听器,写它的点击事件
btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubarray.add("click the button!");adapter.notifyDataSetChanged();}});

这样每按一次按钮,就会添加一个列表项了。

就酱。



阅读全文
0 0