安卓 新浪微博随便看看模拟程序

来源:互联网 发布:全国计算机二级考试vb 编辑:程序博客网 时间:2024/04/29 17:12

安卓模拟新浪微博看看程序

程序效果图

设计分析

  1. 重新编写Adapter类,继承与BaseAdapter
  2. 编写实体类User,从而对数据进行数据的整理
  3. 运用listview实现单独模块
  4. 编写方法把适配器和数据绑定起来

注意问题

  1. 编写MainAactivity查找的id等问题
  2. 自定义的adapter类
  3. 注意查找R文件
  4. 数据的连接绑定
  5. 查数据的方法

自己定义的adapter类

public class MyAdapter extends BaseAdapter {    private List<User> list;    private Context mContext;    private LayoutInflater mInflater;    //定义构造方法    public MyAdapter(List<User> list, Context mContext) {        super();        this.list = list;        this.mContext = mContext;    }    @Override    public int getCount() {        return list.size();    }    @Override    public Object getItem(int position) {        return list.get(position);    }    @Override    public long getItemId(int position) {        return position;    }    @Override    public View getView(int position, View convertView, ViewGroup parent) {        ViewHolder holder=null;        if(convertView==null){            convertView=mInflater.from(mContext).inflate(R.layout.listview_item,null);            holder=new ViewHolder();            //实例化控件            holder.ImageView=(ImageView)convertView.findViewById(R.id.Iv);            holder.Name=(TextView)convertView.findViewById(R.id.Name);            holder.Time=(TextView)convertView.findViewById(R.id.Time);            holder.Text=(TextView)convertView.findViewById(R.id.Contents);            convertView.setTag(holder); //设置setTag使得程序得以优化        }else{            holder=(ViewHolder) convertView.getTag();        }        //给控件赋值        holder.ImageView.setBackgroundResource(list.get(position).getId());        holder.Name.setText(list.get(position).getName());        holder.Time.setText(list.get(position).getTime());        holder.Text.setText(list.get(position).getText());        return convertView;    }    class ViewHolder{        ImageView ImageView;        TextView  Name;        TextView  Time;        TextView  Text;    }}

MainAactivity

public class MainActivity extends Activity {    private ListView listView;    private MyAdapter adapter;    private List<User> list;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        setData();//数据源        initView();    }    private void initView() {        // 初始化控件        listView=(ListView) findViewById(R.id.Lv);        listView.setAdapter(adapter);  //绑定适配器    }    private void setData() {        // 设置数据源        list=new ArrayList<User>();        list.add(new User(R.drawable.z,"x","2015-05-03","好男人就是我,我就是曾小贤!"));        list.add(new User(R.drawable.h, "z", "2015-05-03", "今天天气不错,大家一起练跆拳道吧"));        list.add(new User(R.drawable.l,"w","2015-05-03","吕氏春秋有云:男人不坏,女人不爱"));        list.add(new User(R.drawable.g,"g","2015-05-03","纳尼,日本动漫又开始了?"));        list.add(new User(R.drawable.t,"t","2015-05-03","相信我,我是专业的。"));        adapter=new MyAdapter(list, MainActivity.this);    }           }

具体代码

0 0