zoukankan      html  css  js  c++  java
  • 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,即数据源-视图-适配器,适配器通过一定的规则把数据安排在视图上。

     <下次补上>

  • 相关阅读:
    QString和char字符串数组之间的转换 (转)
    RadioGroup 的 RadioButton 选择改变字体颜色和背景颜色
    Android学习笔记:TabHost 和 FragmentTabHost
    关于JDNI、JMX
    Oracle中查看所有的表,用户表,列名,主键,外键
    如何对行 表 数据库加锁
    android网络优化
    深入java虚拟机
    马拉拉:被塔利班追杀的女孩
    Oracle---->基本DDL
  • 原文地址:https://www.cnblogs.com/bvin/p/2665763.html
Copyright © 2011-2022 走看看