zoukankan      html  css  js  c++  java
  • 自定义adapter实现listview双列显示

    package com.appshare;

    import java.util.ArrayList;
    import java.util.List;

    import android.content.Context;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.LinearLayout;
    import android.widget.TextView;
    import android.widget.Toast;

    public class DoubleAdapter extends BaseAdapter implements OnClickListener{
    private List<String> datas = new ArrayList<String>();
    private Context context;

    public DoubleAdapter(Context context,List<String> datas){
    this.context = context;
    this.datas = datas;
    }
    @Override
    public int getCount() {
    return datas.size() % 2 == 0 ? datas.size() / 2 : datas.size() / 2 + 1;
    }

    @Override
    public Object getItem(int position) {
    return null;
    }

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
    ViewHodler hodler = null;
    if(convertView == null){
    hodler = new ViewHodler();
    LayoutInflater inflater = LayoutInflater.from(context);
    convertView = inflater.inflate(R.layout.item, null);
    hodler.textView1 = (TextView) convertView.findViewById(R.id.text1);
    hodler.textView2 = (TextView) convertView.findViewById(R.id.text2);
    hodler.layout1 = (LinearLayout) convertView.findViewById(R.id.item_layout1);
    hodler.layout2 = (LinearLayout) convertView.findViewById(R.id.item_layout2);

    convertView.setTag(hodler);
    }else{
    hodler = (ViewHodler) convertView.getTag();
    }

    String item1 = "";
    String item2 = "";

    if(position * 2 + 1 < datas.size()){
    item1 = datas.get(position * 2);
    item2 = datas.get(position * 2 + 1);
    }else if(position * 2 + 1 == datas.size()){
    item1 = datas.get(position * 2);
    item2 = "";
    }

    if(item1 != null){
    hodler.textView1.setText(item1);
    hodler.layout1.setOnClickListener(this);
    hodler.layout1.setTag(item1);
    }

    if(item2 != null){
    hodler.textView2.setText(item2);
    hodler.layout2.setOnClickListener(this);
    hodler.layout2.setTag(item2);
    }




    return convertView;
    }

    class ViewHodler {
    TextView textView1;
    TextView textView2;
    LinearLayout layout1;
    LinearLayout layout2;
    }

    @Override
    public void onClick(View v) {
    Toast.makeText(context, v.getTag().toString(), Toast.LENGTH_LONG).show();
    }

    }

  • 相关阅读:
    调参过程中的参数 学习率,权重衰减,冲量(learning_rate , weight_decay , momentum)
    mxnet框架样本,使用C++接口
    faster-rcnn中ROI_POOIING层的解读
    SVM公式推导笔记
    RNN的简单的推导演算公式(BPTT)
    优化器--牛顿法总结
    评估一个预测模型性能通常都有那些指标
    nautilus出现一闪而过现象
    PIL遇到问题解决
    使用神经网络来拟合函数y = x^3 +b
  • 原文地址:https://www.cnblogs.com/wangfeng520/p/6098066.html
Copyright © 2011-2022 走看看