Android自定义listview及其点击事件监听
来源:互联网 发布:php数组排序算法 编辑:程序博客网 时间:2024/04/30 12:50
先看一下运行结果:
首先,在布局里面添加一个ListView. activity_main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="${packageName}.${activityClass}" > <ListView android:id="@+id/list" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#E4E0DE" android:divider="#E4E0DE" android:dividerHeight="2px" android:paddingBottom="2px" android:paddingTop="2px" > </ListView></LinearLayout>
再新建一个list_item.xml文件
<pre name="code" class="html"><?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:background="#FFFFFF" android:paddingTop="5dp" android:paddingBottom="5dp" android:paddingLeft="10dp" android:layout_marginBottom="1px" > <ImageView android:id="@+id/img" android:layout_width="40dp" android:layout_height="40dp" android:layout_gravity="center_vertical" /> <TextView android:id="@+id/text" android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="1" android:gravity="center_vertical" android:layout_marginLeft="10dp" android:text="描述" android:textSize="16sp" android:textStyle="bold" android:textColor="#22201F" /> <ImageView android:id="@+id/go" android:layout_width="wrap_content" android:layout_height="40dp" android:paddingLeft="10dp" android:paddingRight="10dp" android:layout_gravity="center_vertical" android:src="@drawable/back"/></LinearLayout>里面包含两个Imageview和一个Textview
再新建一个类,继承自BaseAdapter
<pre name="code" class="java">package com.effall.listviewdetail;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;/** *@Description: *@Author: Effall *@Date: 2014年11月20日 */public class ListAdapter extends BaseAdapter {private Context context;private int [] imgList;private String[] stringList;private LayoutInflater layoutInflater;public ListAdapter(Context context,int [] imgList,String [] stringList){this.context=context;this.imgList=imgList;this.stringList=stringList;layoutInflater=LayoutInflater.from(context);}public int getCount() {return stringList.length;}public String getItem(int position) {return stringList[position];}public long getItemId(int position) {return position;}public View getView(int position, View convertView, ViewGroup parent) {ViewHolder holder=null;if(convertView==null){holder=new ViewHolder();convertView=layoutInflater.inflate(R.layout.list_item, null);holder.imageView=(ImageView)convertView.findViewById(R.id.img);holder.textView=(TextView)convertView.findViewById(R.id.text);convertView.setTag(holder);}else{holder=(ViewHolder)convertView.getTag();}holder.imageView.setBackgroundResource(imgList[position]);holder.textView.setText(stringList[position]);return convertView;}private class ViewHolder{public ImageView imageView;public TextView textView;}}
MainActivity.java
<pre name="code" class="java">package com.effall.listviewdetail;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.Window;import android.widget.ListView;public class MainActivity extends Activity {private ListView listView;//列表private ListAdapter adapter;//列表适配器//列表中需要填充的数据private int[] imgList={R.drawable.img1,R.drawable.img2,R.drawable.img3};private String[] stringList={"数据库","数据结构","操作系统"}; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏 setContentView(R.layout.activity_main); listView=(ListView)findViewById(R.id.list); //实例化列表适配器 adapter=new ListAdapter(getApplicationContext(), imgList, stringList); //为列表设置适配器 listView.setAdapter(adapter); }}
0 0
- Android自定义listview及其点击事件监听
- ListView点击事件监听失效
- listview点击监听事件失效
- Android-内容提供者、ListView点击事件、观察者、监听短信/联系人
- Android ListView 点击item 监听事件,通过intent传递对象
- Android 多个listview监听item的点击事件
- 自定义View及其监听事件
- ListView Item点击监听事件失效
- android 自定义listview无法响应点击事件OnItemClickListener的原因
- android 自定义listview无法响应点击事件OnItemClickListener的原因
- android 自定义listview无法响应点击事件OnItemClickListener
- android 自定义listview无法响应点击事件OnItemClickListener
- android 自定义listview无法响应点击事件OnItemClickListener
- android 自定义listview无法响应点击事件OnItemClickListener
- Android activity加入左右监听手势,页面是一个listview,不影响listview的点击事件
- Android 监听TabHost点击事件
- Android第十九课;监听ListView列表项点击事件及滚动事件
- 如何给自定义listview设置监听事件
- Python的一点理解
- 软件工程第二次作业
- c:foreach p:datatable 嵌套刷新问题【备忘】
- .net如何将aspx生成html(cms静态页面原理)
- 启示录
- Android自定义listview及其点击事件监听
- 腾讯大数据之MapReduce
- hbase部署实践
- 1077:美丽数【JAVA实现】
- INTERVAL的使用
- 新起点新开始
- Activity界面跳转
- B树、B-树、B+树、B*树
- C语言小试牛刀两个初级程序练习------1到100的加法运算,两个数大小的比较