自定义BaseAdapter适配器

来源:互联网 发布:seo团队 编辑:程序博客网 时间:2024/06/06 01:30

1, MainActivity

 package com.fae.mobile.activity;import android.app.Activity;import android.content.Context;import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.widget.ListView;import com.fae.mobile.R;import com.fae.mobile.adapter.MyAdapter;import com.handmark.pulltorefresh.library.PullToRefreshListView;import java.util.ArrayList;import java.util.HashMap;import java.util.List;public class Main3Activity extends Activity {    private MyAdapter adapter;    private ListView listView;    private List<Use> mList = new ArrayList<Use>();    private Context mContext = this;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main3);        bindID();        addDATA();        adapter=new MyAdapter(mContext,mList);        listView.setAdapter(adapter);    }    private void addDATA() {        Use u1=new Use("发送给对方水电费讽德诵功","上的风格都是告诉对方公司的风格");        Use u2=new Use("发送给对方水电费讽德诵功","上的风格都是告诉对方公司的风格");        Use u3=new Use("发送给对方水电费讽德诵功","上的风格都是告诉对方公司的风格");        Use u4=new Use("发送给对方水电费讽德诵功","上的风格都是告诉对方公司的风格");        Use u5=new Use("发送给对方水电费讽德诵功","上的风格都是告诉对方公司的风格");        Use u6=new Use("发送给对方水电费讽德诵功","上的风格都是告诉对方公司的风格");        Use u7=new Use("发送给对方水电费讽德诵功","上的风格都是告诉对方公司的风格");        Use u8=new Use("发送给对方水电费讽德诵功","上的风格都是告诉对方公司的风格");        mList.add(u1);        mList.add(u2);        mList.add(u3);        mList.add(u4);        mList.add(u5);        mList.add(u6);        mList.add(u7);        mList.add(u8);    }    private void bindID() {        listView=(ListView)findViewById(R.id.listview1);    }}
2,MAinActivity.XML
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="com.fae.mobile.activity.Main3Activity">    <ListView        android:id="@+id/listview1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"></ListView></LinearLayout>

3,Item.XML

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="horizontal"    >    <LinearLayout        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:orientation="vertical">       <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/testView"        android:maxLines="1"        android:textSize="20dp" />        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:id="@+id/testView2"            android:textSize="10dp"            android:maxLines="1"/>    </LinearLayout>    <RelativeLayout        android:layout_width="wrap_content"        android:layout_height="wrap_content">        <Button           android:text="控件1"           android:layout_width="wrap_content"           android:layout_height="wrap_content"            android:id="@+id/mbutton1"            android:layout_alignParentRight="true"/>    </RelativeLayout></LinearLayout>

4,BaseAdapter

public class MyAdapter extends BaseAdapter {    private Context mcontext;    private List<Use> mList;    public MyAdapter(Context mcontext,List<Use> list) {        this.mcontext = mcontext;        this.mList = list;    }    @Override    public int getCount() {        return mList.size();    }    @Override    public Object getItem(int position) {        return mList.get(position);    }    @Override    public long getItemId(int position) {        return position;    }    @Override    public View getView(int position, View convertView, ViewGroup parent) {        final InfoViewHold mInfoViewHold;        if (convertView == null) {            convertView = LayoutInflater.from(mcontext).inflate(R.layout.item_layout, null);            mInfoViewHold = new InfoViewHold(convertView);          convertView.setTag(mInfoViewHold);        } else {            mInfoViewHold = (InfoViewHold) convertView.getTag();        }     mInfoViewHold.persion .setText(mList.get(position).getPersion());     mInfoViewHold.speak  .setText(mList.get(position).getSpeak());                   return convertView;    }    public class InfoViewHold {        private TextView persion,speak;        public InfoViewHold(View convertView) {            persion = (TextView) convertView.findViewById(R.id.testView);            speak = (TextView) convertView.findViewById(R.id.testView2);        }    }}

5,Use

public class Use {    private String persion;    private String speak;    public Use(){        super();    }    public Use(String persion, String speak){        super();        this.persion=persion;        this.speak=speak;    }    public String getPersion() {        return persion;    }    public void setPersion(String persion) {        this.persion = persion;    }    public String getSpeak() {        return speak;    }    public void setSpeak(String speak) {        this.speak = speak;    }}

这里写图片描述