Android 的ListView及其BaseAdapter的使用

来源:互联网 发布:smali语言编程 编辑:程序博客网 时间:2024/06/11 09:31

ListView和BaseAdapter经常联合使用,构造列表视图。

布局文件:activity_mian.xml



Item的布局文件:Iitem_layout.xml

Java类中的MainActivity.java中

现在是BaseAdapter适配器代码片段:HtmlAdapter.java中

public class HtmlAdapter extends BaseAdapter {

    private Context context;
   private ArrayList<String> arrays;
    LayoutInflater inflater ;
    public HtmlAdapter(Context context, ArrayList<String> arrays){
        this.context =context;
        this.arrays = arrays;
        inflater = LayoutInflater.from(context);
    }
    
    @Override
    public int getCount() {
        return arrays.size();
    }

    @Override
    public Object getItem(int position) {
        return arrays.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder viewHolder = null;
        if(null == convertView){
            viewHolder = new ViewHolder();
            convertView = inflater.inflate(R.layout.item_layout, null);
            viewHolder.item_title = (TextView) convertView.findViewById(R.id.item_title);
            viewHolder.item_date = (TextView) convertView.findViewById(R.id.item_date);
            viewHolder.item_link = (TextView) convertView.findViewById(R.id.item_link);
            convertView.setTag(viewHolder);
        }else{
            viewHolder = (ViewHolder) convertView.getTag();
        }
        
        viewHolder.item_date.setText("第一行:"+arrays.get(position));
        viewHolder.item_title.setText("第二行:"+arrays.get(position));
        viewHolder.item_link.setText("第三行:"+arrays.get(position));
        return convertView;
    }
    
    class ViewHolder{
        TextView item_title,item_date,item_link;
    }

代码片段:MainActivity.java中


到此,ListView和BaseAdapter以及 BaseAdapter的ViewHolder的优化,代码完成。






0 0