zoukankan      html  css  js  c++  java
  • Android ListView 的基本应用,包括缓存

    class MyAdapter extends BaseAdapter {
            //返回要显示的条目的数量
            @Override
            public int getCount() {
                return list.size();
            }
     
            //获取条目
            @Override
            public Object getItem(int position) {
                return list.get(position);
            }
     
            //获取条目的id
            @Override
            public long getItemId(int position) {
                return 0;
            }
     
            //返回一个view对象,会作为listView的一个条目显示在界面上
            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                View v = null;
                ViewHolder mHolder = null;
                if (convertView == null) {   //如果缓存为空,则重新填充布局文件
                    v = View.inflate(AddMerryActivity.this, R.layout.list_item_merry, null);  //采用填充的方式
                    //创建ViewHolder,封装所有条目使用的组件
                    mHolder = new ViewHolder();
     
                    mHolder.tv_time = (TextView) v.findViewById(R.id.time_merry);  //时间
                    mHolder.tv_content = (EditText) v.findViewById(R.id.content_merry); //内容
    //                mHolder.siv = (SmartImageView) v.findViewById(R.id.head_merry);  //头像
                    //将ViewHolder封装至View对象中,这样View被缓存时,ViewHolder也被缓存了
                    v.setTag(mHolder); //设置一个标签,将一个对象存到View中,是一个Object类型
                } else {   //如果缓存不为空,直接调用缓存
                    v = convertView;   //convertView 缓存的条目
                    //从View中取出保存的ViewHolder,ViewHolder中就有所有组件对象,不需要再去findViewById
                    mHolder = (ViewHolder) v.getTag();
                }
                // 改变每个条目显示的内容,找到布局文件中对应的组件
                mHolder.tv_time.setText(textTime.getText().toString());
                mHolder.tv_content.setText(editContent.getText().toString());
    //            mHolder.siv.setImageUrl("head_portrait");
                return v;
            }
        }
     
        //把条目需要使用到的所有组件封装到这个类中
        class ViewHolder {
            TextView tv_time;
            EditText tv_content;
    //        SmartImageView siv;
        }
  • 相关阅读:
    Django对静态文件的处理——部署阶段
    使用Django来处理对于静态文件的请求
    Django1.7如何配置静态资源访问
    Spring WebSocket中403错误解决
    FastJSON JSONObject 字段排序 Feature.OrderedField
    国际化(i18n) 各国语言缩写
    【转】java.io.Closeable接口
    【转】spring bean 卸载
    This content should also be served over HTTPS
    Failed to close the ServletOutputStream connection cleanly, Broken pipe
  • 原文地址:https://www.cnblogs.com/tyzl/p/5452879.html
Copyright © 2011-2022 走看看