博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
模拟新浪微博随便看看
阅读量:4702 次
发布时间:2019-06-10

本文共 3246 字,大约阅读时间需要 10 分钟。

程序结果图:

 

程序分析:

1、两部分:主页面和ListView页面

2、编写实体类和ListView自定义适配器MyAdapter

3、MainActivity中连接适配器和实体类,绑定数据源与控件

实现代码:

1、自定义适配器MyAdapter:

package cn.edu.bzu.sinalook;import java.util.List;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;/** * @author  * Date: 2015-5-4 * Des: 自定义的适配器, * */public class MyAdapter extends BaseAdapter {    private List
list; private Context context; public MyAdapter(Context context, List
list) { this.context = context; this.list = list; } @Override public int getCount() { return list.size();//列表长度 } @Override public Object getItem(int arg0) { return list.get(arg0);//根据arg0 返回列表项 } @Override public long getItemId(int arg0) { return arg0; } @Override public View getView(int arg0, View arg1, ViewGroup arg2) { if (arg1 == null) { arg1 = LayoutInflater.from(context).inflate(R.layout.list_cell,null); } ListCell lc = list.get(arg0); ImageView iconId = (ImageView) arg1.findViewById(R.id.ivIcon); TextView tvName = (TextView) arg1.findViewById(R.id.tvName); TextView tvTime = (TextView) arg1.findViewById(R.id.tvTime); TextView tvContent = (TextView) arg1.findViewById(R.id.tvContent); iconId.setBackgroundResource(lc.getIconId()); tvName.setText(lc.getTvName()); tvTime.setText(lc.getTvTime()); tvContent.setText(lc.getTvContent()); return arg1; }}

 PS:继承BaseAdapter 需要实现getCount,getItem,getItemId,getView以及构造方法等方法,里面最重要的是getView方法。

2、编写MainActivity :

package cn.edu.bzu.sinalook;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.widget.ListView;public class MainActivity extends Activity {    private MyAdapter adapter;    private ListView lv;    private List
list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.lv); list = new ArrayList
(); //测试数据 list.add(new ListCell(R.drawable.pag0, "兰兰", "2分钟前", "别看我现在胖,我相信只要我努力减肥就一定能变瘦的!")); list.add(new ListCell(R.drawable.pag1 , "璐璐", "20分钟前", "看我的头像你就知道我是一个喜欢京剧的人,虽然我不会唱!")); list.add(new ListCell(R.drawable.pag2, "强强", "25分钟前", "每次看到那些美丽的风景,我就会心生向往,什么时候我也能去看看那些如画的风景呢?")); list.add(new ListCell(R.drawable.pag3, "康康", "33分钟前", "最近我在看真正男子汉,那些当兵的真是太帅了,突然我也想去当兵了,我也想开开坦克摸摸枪!")); list.add(new ListCell(R.drawable.pag4, "浩浩", "43分钟前", "今天天气很好,待我读读书,看看风景。")); list.add(new ListCell(R.drawable.pag5, "素素", "58分钟前", "不要以为这是p图,其实这只是一个能让你变美的软件而已。")); list.add(new ListCell(R.drawable.pag6, "盼盼", "1小时前", "我是一个动漫迷,我喜欢看动漫,有好看的动漫要记得告诉我哦!")); adapter=new MyAdapter(MainActivity.this,list); lv.setAdapter(adapter); }}

亲,因为本人学的并不是很好,所以没有做出好的效果,请见谅!

转载于:https://www.cnblogs.com/zhiyun930102/p/4495162.html

你可能感兴趣的文章
Teamwork Gym - 101492E (dp)
查看>>
No Link, Cut Tree! Gym - 101484F(dp)
查看>>
Coprimes Gym - 101492C(bitset)
查看>>
Partial Tree UVALive - 7190(完全背包)
查看>>
『深度应用』NLP机器翻译深度学习实战课程·零(基础概念)
查看>>
『开发技术』Windows极简安装使用face_recognition实现人脸识别
查看>>
『深度应用』NLP命名实体识别(NER)开源实战教程
查看>>
『开发技术』GPU训练加速原理(附KerasGPU训练技巧)
查看>>
『深度应用』NLP机器翻译深度学习实战课程·壹(RNN base)
查看>>
『深度应用』一小时教你上手MaskRCNN·Keras开源实战(Windows&Linux)
查看>>
『王霸之路』从0.1到2.0一文看尽TensorFlow奋斗史
查看>>
系统测试中需要注意的点
查看>>
Elasticsearch TermQuery 详解
查看>>
一个困扰了我N久的bug , android.enableAapt2=false 无效
查看>>
查看客户端的IP地址,机器名,MAC地址,登陆名等信息
查看>>
移动端经常遇到的小bug
查看>>
网络&热恋NSURLConnection代理及GET¥POST请求
查看>>
SshTerminal
查看>>
MySQL常用函数
查看>>
Ubuntu安装搜狗拼音教程
查看>>