ListView的使用

设计思路

  1. 重新写适配器
    public class ArticleAdapter extends BaseAdapter {
    private List list_mes=null;
    private Context context;

    public ArticleAdapter(Context context,List list_mes) {
    // TODO Auto-generated constructor stub
    this.list_mes=list_mes;
    this.context=context;
    }

    @Override
    public int getCount() {
    // TODO Auto-generated method stub
    return list_mes.size();
    }

    @Override
    public Object getItem(int position) {
    // TODO Auto-generated method stub
    return list_mes.get(position);
    }

    @Override
    public long getItemId(int position) {
    // TODO Auto-generated method stub
    return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    ListItem listitem;
    if(convertView==null)
    {
    convertView=(LinearLayout)LayoutInflater.from(context).inflate(R.layout.list_layout, null);

        listitem=new ListItem();
        listitem.img=(ImageView)convertView.findViewById(R.id.head_img);
        listitem.name=(TextView)convertView.findViewById(R.id.name);
        listitem.time=(TextView)convertView.findViewById(R.id.time);
        listitem.rq=(TextView)convertView.findViewById(R.id.rq);
        listitem.article=(TextView)convertView.findViewById(R.id.article);
    
        convertView.setTag(listitem);
    }else {
        listitem=(ListItem)convertView.getTag();
    }
    
    listitem.img.setImageDrawable(list_mes.get(position).getImg());
    listitem.name.setText(list_mes.get(position).getName());
    listitem.time.setText(list_mes.get(position).getTime());
    listitem.rq.setText(list_mes.get(position).getRq());
    listitem.article.setText(list_mes.get(position).getArticel());
    return convertView;
    

    }

    public class ListItem{
    ImageView img;
    TextView name;
    TextView time;
    TextView rq;
    TextView article;
    }`

  2. 创建实体类
    public class Messages {
    private Drawable img;
    private String name;
    private String time;
    private String rq;
    private String articel;

    public Drawable getImg() {
    return img;
    }
    public void setImg(Drawable img) {
    this.img = img;
    }
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    public String getTime() {
    return time;
    }
    public void setTime(String time) {
    this.time = time;
    }
    public String getRq() {
    return rq;
    }
    public void setRq(String rq) {
    this.rq = rq;
    }
    public String getArticel() {
    return articel;
    }
    public void setArticel(String articel) {
    this.articel = articel;
    }

  3. 数据库与适配器绑定
    private void getData() {
    // TODO Auto-generated method stub
    //获得xml的资源
    String names[];
    String article[];
    TypedArray img;
    int i;

    names=getResources().getStringArray(R.array.name);
    article=getResources().getStringArray(R.array.article);
    img=getResources().obtainTypedArray(R.array.head_photo);
    
    list_msg=new ArrayList<Messages>();
    for(i=0;i<names.length;i++){
        Messages message=new Messages();
        message.setImg(img.getDrawable(i));
        message.setName(names[i]);
        message.setArticel(article[i]);
        message.setRq("人气:"+String.valueOf(new Random().nextInt(1000)));
        Date date=new Date();
        SimpleDateFormat simple=new SimpleDateFormat("MM-dd");
        message.setTime(simple.format(date));
        list_msg.add(message);
    }
    

    }
    private void init() {
    // TODO Auto-generated method stub
    mylistview=(MyListView)findViewById(R.id.myListView1);
    // mylistview=new MyListView(this);
    // LinearLayout linear=(LinearLayout)MainActivity.this.findViewById(R.id.liner);
    // linear.addView(mylistview);
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值