Android 自定义ListView
来源:互联网 发布:宝黛爱情知乎 编辑:程序博客网 时间:2024/06/05 16:59
1、适配器:MyListAdapter
package com.example.shaolin.myapplication;import android.content.Context;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 java.util.List;import java.util.Map;/** * Created by shaolin on 8/12/15. */public class MyListAdapter extends BaseAdapter{ private List<Map<String, Object>> data; private LayoutInflater layoutInflater; private Context context; public MyListAdapter(Context context,List<Map<String, Object>> data){ this.context=context; this.data=data; this.layoutInflater=LayoutInflater.from(context); } /** * 组件集合,对应list.xml中的控件 * @author Administrator */ public final class Zujian{ public ImageView image; public TextView title; } @Override public int getCount() { return data.size(); } @Override public Object getItem(int position) { return data.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { Zujian zujian=null; if(convertView==null){ zujian=new Zujian(); //获得组件,实例化组件 convertView=layoutInflater.inflate(R.layout.list, null); zujian.image=(ImageView)convertView.findViewById(R.id.image); zujian.title=(TextView)convertView.findViewById(R.id.title); convertView.setTag(zujian); }else{ zujian=(Zujian)convertView.getTag(); } //绑定数据 zujian.image.setBackgroundResource((Integer) data.get(position).get("image")); zujian.title.setText((String)data.get(position).get("title")); return convertView; }}
2、ListView中的Item布局:list.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <ImageView android:id="@+id/image" android:layout_width="wrap_content" android:layout_gravity="center_vertical" android:layout_height="wrap_content" /> <TextView android:id="@+id/title" android:layout_width="wrap_content" android:layout_gravity="center_vertical" android:layout_height="wrap_content" android:textColor="#666872" /> </LinearLayout></LinearLayout>
3、ListView布局:activity_list_view.xm
<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" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context="com.example.shaolin.myapplication.ListViewActivity"> <ListView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/listView" android:scrollbars="vertical" /></LinearLayout>
4、例子:ListViewActivity.java
package com.example.shaolin.myapplication;import android.app.Activity;import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.widget.ArrayAdapter;import android.widget.ListView;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class ListViewActivity extends ActionBarActivity { private ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_list_view); listView=(ListView)findViewById(R.id.listView); List<Map<String, Object>> list=getData(); listView.setAdapter(new MyListAdapter(this, list)); } public List<Map<String, Object>> getData(){ List<Map<String, Object>> list=new ArrayList<Map<String,Object>>(); for (int i = 0; i < 20; i++) { Map<String, Object> map=new HashMap<String, Object>(); map.put("image", R.mipmap.ic_launcher); map.put("title", "这是一个标题"+(i+1)); list.add(map); } return list; }}
0 0
- Android中自定义ListView
- android自定义ListView详解
- ANDROID:LISTVIEW 自定义背景
- android自定义ListView背景
- Android自定义列表(ListView)
- Android自定义列表(ListView)
- 自定义Android的ListView
- Android 自定义 ListView
- android ListView+自定义标题栏
- Android:自定义ListView
- Android 自定义ListView控件
- Android ListView listSelector 自定义
- Android ListView自定义布局
- Android中自定义ListView
- android自定义ListView详解
- Android中自定义ListView
- Android自定义ListView注意事项
- Android自定义Listview
- Android相对布局
- 哎呦不错哦 :)
- 问题描述 超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小
- Energy Function
- dojo enhancedgrid的使用
- Android 自定义ListView
- 浅谈tableView内存优化行高问题
- 【Qt OpenGL教程】26:剪裁平面,蒙板缓存和反射
- java.lang.OutOfMemoryError: Java heap space
- 如何查看思科交换机的出厂时间
- arm汇编—str指令
- 设计模式:23 烤羊肉串引来的思考_命令模式
- 二叉树的C++实现
- java jaxb