[导读]ListView模拟微信好友功能效果图

ListView模拟微信好友功能

效果图:

分析:

1、创建listView

2、创建数据

3、创建适配器

将数据放到呈现数据的容器里面。

将这个容器(带数据)连接适配器。

其实是直接在我们自己写的adapter的getView重载方法中返回连接的view。

View view=View.inflate(mContext, com.example.weChatFriends.R.layout.item_friend, null);

return view;

4、ListView设置适配器

代码:

package fry;

import java.util.ArrayList;

import java.util.List;

import com.example.weChatFriends.R;

import android.app.Activity;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.AdapterView.OnItemSelectedListener;

import android.widget.ArrayAdapter;

import android.widget.ListView;

import android.widget.RelativeLayout;

import android.widget.Toast;

public class Activity01 extends Activity implements OnItemSelectedListener,OnItemClickListener{

private FriendModel friend;

private ListView listView;

private List list;

private weChatListAdapter adapter;

//存资源图片ID

private int[] imageID=new int[]{R.drawable.image1,R.drawable.image2,

R.drawable.image3,R.drawable.image4,R.drawable.image5,R.drawable.image6,

R.drawable.image7,R.drawable.image8,R.drawable.image9,R.drawable.image10,

R.drawable.image11};

//存昵称

private String[] nickName=new String[]{"张三","吴京","战狼","神烦xp","木鱼"

,"水心","系大大","电影","血怒","创奇","讲故事"

};

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.activity01);

init();

setData();

}

private void setData() {

//这里要是写成for(int i:imageID),那么i就是资源id,例如2130837505

for(int i=0;i

FriendModel friend1=new FriendModel();

//System.out.println(i);

friend1.setImageNum(imageID[i]);

friend1.setNickName(nickName[i]);

friend1.setSignature("我要做比海贼王还强大的人");

list.add(friend1);

}

adapter=new weChatListAdapter(list, this);

listView.setAdapter(adapter);

}

private void init() {

listView=(ListView) findViewById(R.id.listView);

listView.setOnItemSelectedListener(this);

listView.setOnItemClickListener(this);

friend=new FriendModel();

list=new ArrayList();

}

/*

* Callback method to be invoked when an item in this view has been selected. This callback is invoked only when the newly selected position is different from the previously selected position or if there was no selected item.(non-Javadoc)

* @see android.widget.AdapterView.OnItemSelectedListener#onItemSelected(android.widget.AdapterView, android.view.View, int, long)

*/

@Override

public void onItemSelected(AdapterView

Toast.makeText(this, s, Toast.LENGTH_SHORT).show();

}

}

主界面

package fry;

import java.util.List;

import com.example.weChatFriends.R;

import android.content.Context;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.ImageView;

import android.widget.TextView;

public class weChatListAdapter extends BaseAdapter{

private List myData;

private Context mContext;

private ImageView avator;

private TextView nickName1;

private TextView signature1;

private FriendModel friend;

public weChatListAdapter(List data, Context mContext) {

super();

this.myData = data;

this.mContext = mContext;

}

//How many items are in the data set represented by this Adapter.

@Override

public int getCount() {

// TODO Auto-generated method stub

return this.myData.size();

}

//Get the data item associated with the specified position in the data set.

@Override

public Object getItem(int position) {

// TODO Auto-generated method stub

return this.myData.get(position);

}

//Get the row id associated with the specified position in the list.

@Override

public long getItemId(int position) {

// TODO Auto-generated method stub

return position;

}

//Get a View that displays the data at the specified position in the data set.

@Override

public View getView(int position, View convertView, ViewGroup parent) {

// TODO Auto-generated method stub

View view=View.inflate(mContext, com.example.weChatFriends.R.layout.item_friend, null);

//System.out.println(position);

friend=myData.get(position);

int ImageID=friend.getImageNum();

String nickName=friend.getNickName();

String signature=friend.getSignature();

avator=(ImageView) view.findViewById(R.id.iv_avator);

nickName1=(TextView)view.findViewById(R.id.tv_nickname);

signature1=(TextView)view.findViewById(R.id.tv_signature);

avator.setImageResource(ImageID);

nickName1.setText(nickName);

signature1.setText(signature);

return view;

}

}

自己创建的适配器

package fry;

public class FriendModel {

//头像的图片id

private int imageNum;

//昵称

private String nickName;

//个性签名

private String signature;

public int getImageNum() {

return imageNum;

}

public void setImageNum(int imageNum) {

this.imageNum = imageNum;

}

public String getNickName() {

return this.nickName;

}

public void setNickName(String nickName) {

this.nickName = nickName;

}

public String getSignature() {

return signature;

}

public void setSignature(String signature) {

this.signature = signature;

}

}

列表中联系人数据的封装

<?xml  version="1.0" encoding="utf-8"?>

android:id="@+id/listView"

android:layout_width="match_parent"

android:layout_height="wrap_content" >

ListView

<?xml  version="1.0" encoding="utf-8"?>

android:layout_width="wrap_content"

android:layout_height="wrap_content" >

android:id="@+id/iv_avator"

android:layout_width="70dp"

android:layout_height="70dp"

android:src="@drawable/image1"

/>

android:id="@+id/tv_nickname"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_toRightOf="@+id/iv_avator"

android:layout_centerVertical="true"

android:layout_marginLeft="20dp"

android:text="张三"

/>

android:id="@+id/tv_signature"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerVertical="true"

android:layout_alignParentRight="true"

android:text="我要做比海贼王更强大的男人"

/>

用于存放数据的容器

android 好友功能,ListView模拟微信好友功能相关推荐

  1. android微信模拟,Android中使用ListView模拟微信好友功能

    效果图: 分析: 1.创建listView 2.创建数据 3.创建适配器 将数据放到呈现数据的容器里面. 将这个容器(带数据)连接适配器. 其实是直接在我们自己写的adapter的getView重载方 ...

  2. android如何实现微信功能吗,android 借助AccessibilityService实现模拟点击功能-微信助手(一)...

    下集预告: android 借助AccessibilityService实现模拟点击功能-几个工具类(二)发此文还是想分享一些自己在android模拟点击这块的收获和想法 为什么开发模拟点击? 这是一 ...

  3. python清理微信好友_Python实现清理微信僵尸粉功能示例【基于itchat模块】

    本文实例讲述了Python实现清理微信僵尸粉功能.分享给大家供大家参考,具体如下: 原理 通过Pyhton调用itchat模块登录网页版微信,给你所有好友发送特殊符号,对方收不到这个特殊符号,只要有人 ...

  4. android模拟微信聊天功能,android仿微信聊天界面 语音录制功能

    本例为模仿微信聊天界面UI设计,文字发送以及语言录制UI. 1先看效果图: 第一:chat.xml设计 android:layout_width="fill_parent" and ...

  5. android 开发微信群发,Android 记录一次开发微信分享功能的吐槽与思考

    在App内潜入分享到微信好友或朋友圈的功能想必大家已经屡见不鲜了,比如Android分享一个网页信息(URL)到微信客户端的代码: /** * 微信分享:分享网页 * @param context * ...

  6. Android 记录一次开发微信分享功能的吐槽与思考

    在App内潜入分享到微信好友或朋友圈的功能想必大家已经屡见不鲜了,比如Android分享一个网页信息(URL)到微信客户端的代码: /*** 微信分享:分享网页* @param context* @p ...

  7. Android实例,做一个微信好友列表,列表视图应用

    效果是这样的:可实现上下拖动查询好友,点击好友会弹出好友名字. activity_main.xml文件: 顶部偷懒可用图片代替. <?xml version="1.0" en ...

  8. php实现微信清粉功能,PHP实现微信提现功能

    PHP实现微信提现功能 来源:中文源码网    浏览: 次    日期:2019年11月5日 [下载文档:  PHP实现微信提现功能.txt ] (友情提示:右键点上行txt文档名->目标另存为 ...

  9. python爬虫好友图片_Python爬取所有微信好友头像,制作微信好友图片墙

    今天咱就试试怎么爬取微信列表中所有好友的头像,并做成一张图片墙,代码不长,60 行就可以搞定. 核心是利用三个库:wxpy 库,用于获取好友头像然后下载 Pillow 库,用于拼接头像 Pyinsta ...

  10. 【javaWeb微服务架构项目——乐优商城day15】——会调用订单系统接口,实现订单结算功能,实现微信支付功能

    0.学习目标 会调用订单系统接口 实现订单结算功能 实现微信支付功能 源码笔记及资料: 链接:https://pan.baidu.com/s/1_opfL63P1pzH3rzLnbFiNw 提取码:v ...

最新文章

  1. 通信系统中对眼图的理解(二)
  2. 一个网卡下设置两个ip地址
  3. eclipse安装svn服务器
  4. Centos删除virbr0网卡
  5. java list remove 无效_JAVA List使用Remove时的一些问题
  6. java坦克大战图片素材包,坦克大战素材包
  7. 保存书店每日交易记录程序设计
  8. 我最近在看什么 -《富爸爸穷爸爸》
  9. FreeType字体程序库介绍(转)
  10. 建站教程|小鸟云服务器搭建Wordpress站点
  11. 嵌入式音频架构 - AudioWeaver模块开发
  12. pygame鼠标进行拖拽移动图片、缩放、以及按钮响应 案例
  13. python图像倾斜校正_霍夫变换 文本图片倾斜矫正 python实现
  14. 业务数据分析-常见业务指标
  15. uni-app基础入门
  16. 苹果系统中英文输入法切换_Mac系统,如何优雅切换中英文?
  17. 可视化搭建平台的地图组件和日历组件方案选型
  18. mysql慢查询常用语句
  19. audio service详解
  20. Qt音视频开发02-海康sdk解码(支持句柄/回调/GPU模式/支持win/linux)

热门文章

  1. 面向对象之抽象类与接口【Java】
  2. 如何下载google play上的软件
  3. hdu 2545 树上战争
  4. 怎么用管理员方式打开压缩包
  5. 知乎周源:知识变现背后的信息逻辑
  6. App Ratings and Reviews
  7. 支付公司如何赚钱?支付网关如何设计?
  8. mc:Ignorable=“d“什么意思?
  9. 什么是ADB,什么是MC
  10. C语言渔夫打鱼晒网问题