Android 列表

来源:互联网 发布:mac x显示隐藏文件夹 编辑:程序博客网 时间:2024/05/14 12:43

实现方式一

1、在布局文件layout_main.xml中添加如下代码:

<?xml version="1.0" encoding="utf-8"?><RelativeLayout 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=".MainActivity">    <ListView        android:id="@+id/listView"        android:layout_width="match_parent"        android:layout_height="match_parent"        /></RelativeLayout>

2、自己新建一个xml文件,命名为list_item,代码如下:

<?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"    >    <!-- 定义一个用于显示头像的ImageView -->    <ImageView        android:id="@+id/imgtou"        android:layout_width="60dp"        android:layout_height="60dp"        android:baselineAlignBottom="true"        android:paddingTop="5dp"        android:paddingBottom="5dp"/>    <!-- 定义一个竖直方向的LinearLayout,把QQ呢称与说说的文本框设置出来 -->    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="vertical">        <TextView            android:id="@+id/name"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:paddingLeft="5dp"            android:textColor="#1D1D1C"            android:textSize="20sp" />        <TextView            android:id="@+id/says"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:paddingLeft="5dp"            android:textColor="#B4B4B9"            android:textSize="14sp" />    </LinearLayout></LinearLayout>

3、在MainActivity中添加代码:

package com.example.yuancan.test245;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.ListView;import android.widget.SimpleAdapter;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        int[] imgIds = new int[] {R.drawable.test,R.drawable.test,R.drawable.test,R.drawable.test,R.drawable.test};        String[] names = new String[] {"星期一","星期二","星期三","星期四","星期五"};        String[] says = new String[] {"星期一","星期二","星期三","星期四","星期五"};        List<Map<String, Object>> listitem = new ArrayList<Map<String, Object>>();        for (int i = 0; i < names.length; i++) {            Map<String, Object> showitem = new HashMap<String, Object>();            showitem.put("touxiang", imgIds[i]);            showitem.put("name", names[i]);            showitem.put("says", says[i]);            listitem.add(showitem);        }        //创建一个simpleAdapter        SimpleAdapter myAdapter = new SimpleAdapter(getApplicationContext(), listitem, R.layout.list_item, new String[]{"touxiang", "name", "says"}, new int[]{R.id.imgtou, R.id.name, R.id.says});        ListView listView = (ListView) findViewById(R.id.listView);        listView.setAdapter(myAdapter);    }}

这里写图片描述

实现方式二

1、在activity_main.xml中添加代码:

<?xml version="1.0" encoding="utf-8"?><RelativeLayout 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=".MainActivity">    <ListView        android:id="@+id/listView"        android:layout_width="match_parent"        android:layout_height="match_parent"        /></RelativeLayout>

2、自己创建一个xml布局文件,命名为:item_list,添加代码:

<?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"    >    <ImageView        android:id="@+id/image"        android:layout_width="60dp"        android:layout_height="60dp"        android:paddingTop="5dp"        />    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="vertical">        <TextView            android:id="@+id/title"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:textSize="20sp"            />        <TextView            android:id="@+id/subTitle"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:textSize="18sp"            />    </LinearLayout>></LinearLayout>

3、新建一个类,命名为Animal,添加代码:

package com.example.yuancan.test2451;/** * Created by yuancan on 16/8/19. */public class Animal {    private String aName;    private String aSpeak;    private int aIcon;    public Animal () {    }    public Animal(String aName, String aSpeak, int aIcon) {        this.aName = aName;        this.aSpeak = aSpeak;        this.aIcon = aIcon;    }    public  String getaName() {        return aName;    }    public String getaSpeak() {        return aSpeak;    }    public int getaIcon() {        return aIcon;    }    public void setaName (String aName) {        this.aName = aName;    }    public void setaSpeak (String aSpeak) {        this.aSpeak = aSpeak;    }    public void setaIcon (int aIcon) {        this.aIcon = aIcon;    }}

4、新建一个类,继承BaseAdapter,命名为AnimalAdapter,添加代码:

package com.example.yuancan.test2451;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 org.w3c.dom.Text;import java.util.LinkedList;/** * Created by yuancan on 16/8/19. */public class AnimalAdapter  extends BaseAdapter {    private LinkedList<Animal> mData;    private Context mContext;    public AnimalAdapter(LinkedList<Animal> mData, Context mContext) {        this.mData = mData;        this.mContext = mContext;    }    @Override    public int getCount() {        return mData.size();    }    @Override    public Object getItem(int position) {        return null;    }    @Override    public long getItemId(int position) {        return position;    }    @Override    public View getView(int position, View convertView, ViewGroup parent) {        convertView = LayoutInflater.from(mContext).inflate(R.layout.item_list,parent,false);        ImageView img_icon = (ImageView)convertView.findViewById(R.id.image);        TextView title = (TextView)convertView.findViewById(R.id.title);        TextView sub_title = (TextView)convertView.findViewById(R.id.subTitle);        img_icon.setBackgroundResource(mData.get(position).getaIcon());        title.setText(mData.get(position).getaName());        sub_title.setText(mData.get(position).getaSpeak());        return convertView;    }}

5、在MainActivity中添加代码:

package com.example.yuancan.test2451;import android.content.Context;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.ListView;import java.util.LinkedList;import java.util.List;public class MainActivity extends AppCompatActivity {    private List<Animal> mData =null;    private Context mContext;    private AnimalAdapter mAdapter = null;    private ListView list_animal;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mContext = MainActivity.this;        list_animal = (ListView)findViewById(R.id.listView);        mData = new LinkedList<Animal>();        mData.add(new Animal("星期一","今天是星期一",R.mipmap.ic_launcher));        mData.add(new Animal("星期二","今天是星期二",R.mipmap.ic_launcher));        mData.add(new Animal("星期三","今天是星期三",R.mipmap.ic_launcher));        mData.add(new Animal("星期四","今天是星期四",R.mipmap.ic_launcher));        mData.add(new Animal("星期五","今天是星期五",R.mipmap.ic_launcher));        mData.add(new Animal("星期六","今天是星期六",R.mipmap.ic_launcher));        mData.add(new Animal("星期天","今天是星期天",R.mipmap.ic_launcher));        mAdapter = new AnimalAdapter((LinkedList<Animal>) mData, mContext);        list_animal.setAdapter(mAdapter);    }}

这里写图片描述

0 0
原创粉丝点击