zoukankan      html  css  js  c++  java
  • 针对BaseAdapter的扩展

    针对BaseAdapter可以有一些扩展,比如在一行中加入几个元素如下图所示。

    为了完成上面的内容,需要在布局文件中加入一个布局文件R.layout.listview_item,这个布局文件中描述了要显示的内容。

    自定义MyAdapter来继承BaseAdapter。

    必须要覆写getCount() 和getView()方法。

    关键代码:

    public View getView(final int position, View convertView, ViewGroup parent) {
    //List中的一条数据
    DataModel item;

    //设置布局中内容与数据的对应关系,通过ID进行设置
    if (convertView == null) {
    item
    = new DataModel();
    convertView
    = inflater.inflate(R.layout.listview_item, null);
    item.setImView((ImageView) convertView.findViewById(R.id.listview_image));
    item.setCheckBox((CheckBox) convertView.findViewById(R.id.listview_checkbox));
    item.setText((TextView) convertView.findViewById(R.id.listview_text));

    convertView.setTag(item);
    }
    else {
    item
    = (DataModel) convertView.getTag();
    }

    //设置数据
    if (position % 2 == 0) {
    item.getCheckBox().setChecked(
    true);
    }
    else {
    item.getCheckBox().setChecked(
    false);
    }
    item.getCheckBox().setOnClickListener(
    new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    Toast.makeText(context, datas.get(position).getText(), Toast.LENGTH_SHORT).show();
    }
    });
    item.getImView().setImageDrawable(getResources().getDrawable(datas.get(position).getImageId()));
    item.getText().setText(datas.get(position).getText());

    return convertView;
    }

      

  • 相关阅读:
    RAID中的Stripe size对性能的影响?
    TCP segmentation offload
    传统网络配置命令与IP高级路由命令
    WebTrends Log Analyzer
    linux使用vi中文乱码的解决办法
    链接静态库的顺序问题
    tcpdump命令格式
    怎样取得文件行数
    Tcpdump命令的使用与示例——linux下的网络分析
    Linux系统面面观 PROC文件系统详细介绍
  • 原文地址:https://www.cnblogs.com/xitang/p/2175330.html
Copyright © 2011-2022 走看看