• AndroidのActivity之Listview数据项更改


    先看效果,点击更改,换掉头像。

    想过两个办法一个是直接把Listview里ItemView里的ImageView接出来,赋值给成员变量,然后在单机事件中,改变它。

    public class MainActivity extends Activity {
        /** Called when the activity is first created. */
        ListView lv;
        ImageView iv;
    
            .......
            class BindAdapter extends BaseAdapter{
           @Override
            public View getView(int arg0, View arg1, ViewGroup arg2) {
                // TODO Auto-generated method stub
                
                //bindView
                if(arg1==null){
                    holder = new ViewHolder();
                    arg1 = inflater.inflate(R.layout.item, null);
                    holder.bt = (Button)arg1.findViewById(R.id.bt);
                    holder.tv = (TextView)arg1.findViewById(R.id.tv);
                    holder.iv = (ImageView)arg1.findViewById(R.id.iv);
                    
                    arg1.setTag(holder);
                }else{
                    holder = (ViewHolder)arg1.getTag();
                }
                
                //bindData
                holder.bt.setOnClickListener(new Lsn(arg0,holder.iv));
                Map<String,Object> map = new HashMap<String,Object>();
                map = list.get(arg0);
                
                holder.tv.setText((String)map.get("tv"));//绑定map中tv元素
                holder.iv.setImageResource((Integer)map.get("iv"));//绑定map中iv元素
                MainActivity.this.iv = iv;
                return arg1;
            }
     class Lsn implements View.OnClickListener{
    @Override
            public void onClick(View v) {
     this.iv.setImageResource(R.drawable.me);
       }
    
    }

    最终没看到效果,貌似不行。

    第二种就是根据MVC模式,通过Controler去改变View,而Adapter正是充当着这个角色。首先,先更改数据源List<? extends Map>,然后再用适配器Adapter去刷新视图。我觉得在android上应该叫DVA,Data-View-Adapter,即数据源-视图-适配器,适配器通过一定的规则把数据安排在视图上。

     <下次补上>

  • 相关阅读:
    nginx socket转发设置
    Linux CentOS 7 安装字体库 & 中文字体
    nginx配置location总结及rewrite规则写法
    nginx动静分离小示例
    iptables黑/白名单设置(使用ipset 工具)
    Docker logs 命令
    Docker定制容器镜像(利用Dockerfile文件)
    docker swarn集群笔记
    [国家集训队]数颜色 / 维护队列(带修莫队)
    于是他错误的点名开始了(trie树)
  • 原文地址:https://www.cnblogs.com/bvin/p/2665763.html
Copyright © 2020-2023  润新知