码迷,mamicode.com
首页 > 其他好文 > 详细

模拟新浪微博随便看看

时间:2015-05-11 19:30:24      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:

程序结果图:

  技术分享

程序分析:

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<ListCell> list;
    private Context context;
    
    public MyAdapter(Context context, List<ListCell> 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<ListCell> list;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        lv = (ListView) findViewById(R.id.lv);

        list = new ArrayList<ListCell>();
        //测试数据
        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);
    }

}

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

模拟新浪微博随便看看

标签:

原文地址:http://www.cnblogs.com/zhiyun930102/p/4495162.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!