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
- Android 列表
- [Android]Android权限列表
- [Android]Android权限列表
- Android 子项目列表
- android权限列表
- android权限列表
- android 资源列表-网址
- Android 列表对话框
- Android术语列表概览
- 5. android 列表视图
- Android 常见权限列表
- Android自定义列表(ListView)
- Android自定义列表(ListView)
- Android获取联系人列表
- Android系统广播列表
- Android Intent列表
- android service学习列表
- Android 常用颜色列表
- 【51Nod】-1050 循环数组最大子段和(LIS,小变化)
- 如何利用正则表达式限制输入0到100的数(js)
- ViewPager 滑动功能详解
- 关于APP启动页自己的一点取巧办法
- Android studio系统类报红,让我setup jdk的解决办法
- Android 列表
- 如何在Snap包中定义全局的plug
- 推理集 —— 特殊的时间
- 海思3518c普通串口更换485通讯(启用rtsn管脚)-内核代码修改
- POJ 2393 Yogurt Factory(贪心 ?? dp)
- TCP/IP 扫盲教程
- 最近公共祖先
- 牛客网-Java-字符统计
- Spring3自定义环境配置 <beans profile="">