显示联系人列表1_(demo)
来源:互联网 发布:必图拳馆怎么样知乎 编辑:程序博客网 时间:2024/05/09 07:00
项目描述:显示 用户头像、用户名、电话号码
如下图所示:
开发步骤
1.写一个 activity_main.xml 布局 添加 ListView 控件
2.写一个 contact_item.xml 布局 ImageView(头像)TextView(name)、TextView(number);
3.MainActivity.java
3.1.声明 ListView
3.2 数据源 List<Contact>data;
创建一个实体类 Contact.java 并且添加属性 头像、名、号码
3.3 声明一个 ContactAdapter
ContactAdapter extends BaseAdapter
数据源
模板
上下文对象
3.4 创建数据对象,添加数据
3.5 初始化 ListView
3.6 创建 adapter
3.6 为 ListView 配置 adapter
activity_main.xml
<RelativeLayoutxmlns: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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="cn.sophia.listview.MainActivity">
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent"
></ListView>
</RelativeLayout>
contact_item.xml
<?xmlversion="1.0"encoding="utf-8"?>
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:id="@+id/relativeLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/imageView"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/headimage01"/>
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_toRightOf="@+id/imageView"
android:orientation="vertical">
<TextView
android:id="@+id/tvName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="bottom"
android:paddingLeft="20dp"
android:text="sohpia"/>
<TextView
android:id="@+id/tvNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="bottom"
android:paddingLeft="20dp"
android:text="10086"/>
</LinearLayout>
</RelativeLayout>
</RelativeLayout>
Contact.java
package cn.sophia.listview;
public class Contact {
public String name;
public String number;
public intimage;
public Contact(String name, String number,int image) {
super();
this.name = name;
this.number = number;
this.image = image;
}
}
ContactAdapte.java
package cn.sophia.listview;
import java.util.List;
import java.util.Map;
import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView.FindListener;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class ContactAdapter extends BaseAdapter {
// 声明数据源
private List<Contact> data;
// 声明 模板
private LayoutInflater inflater;
// 声明上下文
private Context context;
public ContactAdapter(List<Contact> data, Context context) {
super();
this.data = data;
inflater = inflater.from(context);
}
// 创建一个 ViewHolder 类,用于封装模板中的各个空间
class ViewHolder {
TextView sortKey;
ImageView imageView;
TextView tvName;
TextView tvNumber;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Contact contact = data.get(position);
// 声明 ViewHolder;
ViewHolder holder;
// 判断 converView 是否为空
if (convertView == null) {
// 创建 ViewHolder
holder = new ViewHolder();
// 加载模板
convertView = inflater.inflate(R.layout.contact_item, null);
// 获得模板中的 控件
holder.imageView = (ImageView) convertView
.findViewById(R.id.imageView);
holder.tvName = (TextView) convertView.findViewById(R.id.tvName);
holder.tvNumber = (TextView) convertView
.findViewById(R.id.tvNumber);
convertView.setTag(holder);
// 放进 holder中
} else {
holder = (ViewHolder) convertView.getTag();
}
// 给 holder 设置数据
holder.imageView.setImageResource(contact.image);
holder.tvName.setText(contact.name);
holder.tvNumber.setText(contact.number);
return convertView;
}
@Override
public int getCount() {
return data.size();
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}
}
MainActivity.java
package cn.sophia.listview;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.widget.ListView;
public class MainActivity extends Activity {
// 声明ListView
private ListView listView;
// 声明数据源
private List<Contact> data;
// 声明 adapter
private ContactAdapter adapter;
// 声明
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化控件
listView = (ListView) findViewById(R.id.listView);
data = new ArrayList<Contact>();
data.add(new Contact("sophia1", "11111111111", R.drawable.headimage01));
data.add(new Contact("aaaa", "11111111112", R.drawable.headimage02));
data.add(new Contact("aaaaa2", "11111111113", R.drawable.headimage03));
data.add(new Contact("cccc7", "11111111114", R.drawable.headimage04));
data.add(new Contact("ccccc8", "11111111115", R.drawable.headimage05));
data.add(new Contact("bbbbbb9", "11111111116", R.drawable.headimage06));
data.add(new Contact("ddddddd1", "11111111117", R.drawable.headimage07));
data.add(new Contact("fffffff", "11111111118", R.drawable.headimage08));
data.add(new Contact("fffffff", "11111111119", R.drawable.headimage09));
data.add(new Contact("ggggggg", "11111111110", R.drawable.headimage01));
// 创建adapter
adapter = new ContactAdapter(data, MainActivity.this);
// 为控件配置适配器
listView.setAdapter(adapter);
}
}
- 显示联系人列表1_(demo)
- 联系人列表的显示方法和设备
- 显示联系人列表2 分类标题栏
- 联系人demo
- Android获取通讯录联系人显示在EditText上Demo
- Android获取通讯录联系人显示在EditText上Demo
- 一种联系人列表的显示方法及装置
- android开发中联系人列表显示字母索引
- Android demo 01,音乐显示列表
- android 怎么调用联系人列表,并将选择的联系人号码显示在文本框里
- android 怎么调用联系人列表,并将选择的联系人号码显示在文本框里
- Android 仿微信联系人Demo
- day4.29总结_友录_设置圆圈和显示联系人的详细信息
- 【css】day04_列表样式_显示方式_鼠标形状
- 读取联系人列表
- 打开联系人列表
- Android获取联系人列表
- 原创android联系人列表
- ActionBar
- windows可执行文件调用jar包执行java程序-toolsRun.bat
- View的属性值
- Java学习之集合框架
- Android基础总结--软键盘windowSoftInputMode
- 显示联系人列表1_(demo)
- WUST OJ 1579 Camellia(数位dp)
- 自定义控件
- 现场总线CANopen学习总结笔记五---网络管理系统与节点ID分配
- Codeforces 658D Bear and Polynomials
- HDU 4248 DP与组合数学
- hdu--5666--Segment
- C#中四舍五入的实现
- androidView