本文主要是介绍BaseAdapter自定义Lis他View,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
平时都是用simpleAdapter,今天学习了BaseAdapter,写了个demo记录一下,以备不时之需。如果有写错的希望大家指出
AdapterActivity:
package com.example.myadapter01;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import org.w3c.dom.Text;import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;public class AdapterActivity extends Activity {private List<Map<String,Object>> list = null;private HashMap<String, Object> map = null;private ListView listView;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.list_view);list = new ArrayList<Map<String,Object>>();// 添加数据到listfor(int i = 0;i<4;i++){map = new HashMap<String, Object>();map.put("name", "HJ");map.put("number", "1234567");list.add(map);}
listView = (ListView)findViewById(R.id.list_view);Myadapter adapter = new Myadapter(this);listView.setAdapter(adapter);}// 自定义适配器public class Myadapter extends BaseAdapter{private LayoutInflater inflater;public Myadapter(Context context){inflater = LayoutInflater.from(context);}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn list.size();}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn null;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn 0;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// 创建View对象convertView = inflater.inflate(R.layout.item, null);if(list.get(position)!=null){// 添加数据TextView name = (TextView)convertView.findViewById(R.id.name);name.setText(list.get(position).get("name").toString());// TextView number = (TextView)convertView.findViewById(R.id.number);number.setText(list.get(position).get("number").toString());}return convertView;}}}
list_view.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent" ><ListView android:id="@+id/list_view"android:layout_height="wrap_content"android:layout_width="wrap_content"></ListView></RelativeLayout>
item.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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/name"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="25sp"android:text="HJ"/><TextViewandroid:id="@+id/number"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:layout_marginRight="70dp"android:text="1234567"android:textSize="25sp" /></RelativeLayout>
这篇关于BaseAdapter自定义Lis他View的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!