自定义ListView的简单使用方法

来源:互联网 发布:末日数据化小说 女主 编辑:程序博客网 时间:2024/06/05 11:44

ListView是安卓编程最常使用的控件之一,这是我最常用的一种方法,记录下,以便查看,随便请大虾看看,有没有什么不妥的地方。

1.布局文件。

<ListView                android:id="@+id/list"                android:layout_width="fill_parent"                android:layout_height="fill_parent"                android:divider="#40000000"                android:dividerHeight="0.3dp" >            </ListView>

2.Activty中初始化代码

private ListView list;list = (ListView) view.findViewById(R.id.list);

3.保存数据的data类

/** *  * @author 任爱民 */public class BiaoData {private String title;// 一个字段public BiaoData(String title) {super();this.title = title;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}}

4.每条View的BaseAdpter

import java.util.ArrayList;import java.util.List;import android.content.Context;import android.graphics.drawable.Drawable;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import com.wmaifclient.R;import com.wmaifclient.adapter.data.BiaoData;public class ListAdapter extends BaseAdapter {private List<Data> list = new ArrayList<Data>();private Context context;public void adddata(Data data) {list.add(data);}public void removeint(int n) {       list.remove(n);}public ListAdapter(Context context) {super();this.context = context;}public Context getContext() {return context;}public void setContext(Context context) {this.context = context;}@Overridepublic int getCount() {return list.size();}@Overridepublic Object getItem(int n) {return list.get(n);}@Overridepublic long getItemId(int n) {return n;}@Overridepublic View getView(int n, View convertview, ViewGroup viewgroup) {if (convertview == null) {convertview = LayoutInflater.from(getContext()).inflate(R.layout.list_main, null);convertview.setTag(new BiaoContent((TextView) convertview.findViewById(R.id.title)));}// 赋值Content content = (Content) convertview.getTag();content.getTitle().setText(biaolist.get(n).getTitle());return convertview;}public class Content {private TextView title;// 标题public BiaoContent(TextView title) {super();this.title = title;}public TextView getTitle() {return title;}public void setTitle(TextView title) {this.title = title;}       }}

5.list_main.xml为自定义布局。

           <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="horizontal" >             <TextView                android:id="@+id/title"                style="@style/place_font"                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:textColor="@color/black" /></LinearLayou>

6.为ListView设置自定义的BaseAdapter

              <pre name="code" class="java">ListAdapter adapter = new ListAdapter(getContext());// 参数依次是Drawable houseimage, String title, int price, String// place,String explore, String discountadapter.adddata(new Data( "玛丽的花园"));
                adapter.adddata(new Data( "玛丽的花园"));
                adapter.adddata(new Data( "玛丽的花园"));
                adapter.adddata(new Data( "玛丽的花园"));
                adapter.adddata(new Data( "玛丽的花园"));
                adapter.adddata(new Data( "玛丽的花园"));
if(list != null)list.setAdapter(adapter);



7.点击事件

list.setOnItemClickListener(new CustomOnItemClickListener());class CustomOnItemClickListener implements OnItemClickListener {@Overridepublic void onItemClick(AdapterView<?> adaptetview, View v, int n,long m) {}}



0 0
原创粉丝点击