<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ZhipSoft.com
        冬去春來
            鄭重聲明:本Blog純屬個人學習、工作需要,記錄相關資料。請不要發表任何有人身攻擊的言論,謝謝!!www.ZhipSoft.com
    posts - 94,comments - 149,trackbacks - 0

    構造自己的adapter,在getView中,設置顏色,點擊item,刷新listview。

    代碼:

    view plaincopy to clipboardprint?
    import java.util.ArrayList;  
    import java.util.HashMap;  
    import java.util.List;  
    import java.util.Map;  
    import android.app.Activity;  
    import android.content.Context;  
    import android.graphics.Color;  
    import android.os.Bundle;  
    import android.view.LayoutInflater;  
    import android.view.View;  
    import android.view.ViewGroup;  
    import android.widget.AdapterView;  
    import android.widget.BaseAdapter;  
    import android.widget.ListView;  
    import android.widget.TextView;  
    public class MyListView4 extends Activity {  
        private List<Map<String, Object>> mData;      
        ListView setlistViewLeft;  
        MyAdapter adapter;    
          
        @Override 
        public void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);  
            setContentView(R.layout.list);  
              
            mData = getData();        
            setlistViewLeft = (ListView)findViewById(R.id.listleft);   
              
            adapter = new MyAdapter(this);  
            setlistViewLeft.setAdapter(adapter);  
            setlistViewLeft.setOnItemClickListener(mLeftListOnItemClick);  
        }  
        private List<Map<String, Object>> getData() {  
            List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();  
            Map<String, Object> map = new HashMap<String, Object>();  
            map.put("title", "G1");  
            map.put("info", "google 1");  
            list.add(map);  
            map = new HashMap<String, Object>();  
            map.put("title", "G2");  
            map.put("info", "google 2");  
            list.add(map);  
            map = new HashMap<String, Object>();  
            map.put("title", "G3");  
            map.put("info", "google 3");  
            list.add(map);  
              
            map = new HashMap<String, Object>();  
            map.put("title", "G4");  
            map.put("info", "google 4");  
            list.add(map);  
              
            map = new HashMap<String, Object>();  
            map.put("title", "G5");  
            map.put("info", "google 5");  
            list.add(map);  
            return list;  
        }  
        AdapterView.OnItemClickListener mLeftListOnItemClick = new AdapterView.OnItemClickListener() {  
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {  
                  
                adapter.setSelectItem(arg2);  
                adapter.notifyDataSetInvalidated();  
    //          adapter.notifyDataSetChanged();  
            }  
              
        };  
        /** 
         * listview中點擊按鍵彈出對話框 
         */ 
        public final class ViewHolder {  
            public TextView titleText;  
            public TextView infoText;         
        }  
        public class MyAdapter extends BaseAdapter {  
            private LayoutInflater mInflater;  
            public MyAdapter(Context context) {  
                this.mInflater = LayoutInflater.from(context);  
            }  
            public int getCount() {  
                // TODO Auto-generated method stub  
                return mData.size();  
            }  
            public Object getItem(int arg0) {  
                // TODO Auto-generated method stub  
                return mData.get(arg0);  
            }  
            public long getItemId(int arg0) {  
                // TODO Auto-generated method stub  
                return arg0;  
            }  
            public View getView(int position, View convertView, ViewGroup parent) {  
                ViewHolder holder = null;  
                if (convertView == null) {  
                    holder = new ViewHolder();  
                    convertView = mInflater.inflate(R.layout.leftview, null);  
                    holder.titleText = (TextView) convertView.findViewById(R.id.titleleftlist);  
                    holder.infoText = (TextView) convertView.findViewById(R.id.infoleftlist);  
                      
                    convertView.setTag(holder);           
                } else {  
                    holder = (ViewHolder) convertView.getTag();  
                }  
                  
                holder.titleText.setText((String) mData.get(position).get("title"));  
                holder.infoText.setText((String) mData.get(position).get("info"));            
                  
                if (position == selectItem) {  
                    convertView.setBackgroundColor(Color.RED);  
                }   
                else {  
                    convertView.setBackgroundColor(Color.TRANSPARENT);  
                }     
                  
                //convertView.getBackground().setAlpha(80);   
                  
                return convertView;  
            }  
            public  void setSelectItem(int selectItem) {  
                 this.selectItem = selectItem;  
            }  
            private int  selectItem=-1;  
        }  

    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import android.app.Activity;
    import android.content.Context;
    import android.graphics.Color;
    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.AdapterView;
    import android.widget.BaseAdapter;
    import android.widget.ListView;
    import android.widget.TextView;
    public class MyListView4 extends Activity {
     private List<Map<String, Object>> mData; 
     ListView setlistViewLeft;
     MyAdapter adapter; 
     
     @Override
     public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.list);
      
      mData = getData();  
      setlistViewLeft = (ListView)findViewById(R.id.listleft);
      
      adapter = new MyAdapter(this);
      setlistViewLeft.setAdapter(adapter);
      setlistViewLeft.setOnItemClickListener(mLeftListOnItemClick);
     }
     private List<Map<String, Object>> getData() {
      List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
      Map<String, Object> map = new HashMap<String, Object>();
      map.put("title", "G1");
      map.put("info", "google 1");
      list.add(map);
      map = new HashMap<String, Object>();
      map.put("title", "G2");
      map.put("info", "google 2");
      list.add(map);
      map = new HashMap<String, Object>();
      map.put("title", "G3");
      map.put("info", "google 3");
      list.add(map);
      
      map = new HashMap<String, Object>();
      map.put("title", "G4");
      map.put("info", "google 4");
      list.add(map);
      
      map = new HashMap<String, Object>();
      map.put("title", "G5");
      map.put("info", "google 5");
      list.add(map);
      return list;
     }
     AdapterView.OnItemClickListener mLeftListOnItemClick = new AdapterView.OnItemClickListener() {
      public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
       
       adapter.setSelectItem(arg2);
       adapter.notifyDataSetInvalidated();
    //   adapter.notifyDataSetChanged();
      }
      
     };
     /**
      * listview中點擊按鍵彈出對話框
      */
     public final class ViewHolder {
      public TextView titleText;
      public TextView infoText;  
     }
     public class MyAdapter extends BaseAdapter {
      private LayoutInflater mInflater;
      public MyAdapter(Context context) {
       this.mInflater = LayoutInflater.from(context);
      }
      public int getCount() {
       // TODO Auto-generated method stub
       return mData.size();
      }
      public Object getItem(int arg0) {
       // TODO Auto-generated method stub
       return mData.get(arg0);
      }
      public long getItemId(int arg0) {
       // TODO Auto-generated method stub
       return arg0;
      }
      public View getView(int position, View convertView, ViewGroup parent) {
       ViewHolder holder = null;
       if (convertView == null) {
        holder = new ViewHolder();
        convertView = mInflater.inflate(R.layout.leftview, null);
        holder.titleText = (TextView) convertView.findViewById(R.id.titleleftlist);
        holder.infoText = (TextView) convertView.findViewById(R.id.infoleftlist);
        
        convertView.setTag(holder);   
       } else {
        holder = (ViewHolder) convertView.getTag();
       }
       
       holder.titleText.setText((String) mData.get(position).get("title"));
       holder.infoText.setText((String) mData.get(position).get("info"));   
       
       if (position == selectItem) {
        convertView.setBackgroundColor(Color.RED);
       }
       else {
        convertView.setBackgroundColor(Color.TRANSPARENT);
       } 
       
       //convertView.getBackground().setAlpha(80);
       
       return convertView;
      }
      public  void setSelectItem(int selectItem) {
        this.selectItem = selectItem;
      }
      private int  selectItem=-1;
     }
    }


    android 自定義adapter extends BaseAdapter,做有自己布局的listView
    或:

    siteListView.setOnItemClickListener(new OnItemClickListener() {
       @Override
        public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
            for(int i=0;i<parent.getCount();i++){
                View v=parent.getChildAt(parent.getCount()-1-i);
                if (position == i) {
                    v.setBackgroundColor(Color.RED);
                } else {
                    v.setBackgroundColor(Color.TRANSPARENT);
                }
            }
        }
    });



            本Blog純屬個人學習、工作需要,記錄相關資料。請不要發表任何有人身攻擊的言論,謝謝! www.zhipsoft.cn
    posted on 2011-01-25 17:10 ZhipSoft 閱讀(12270) 評論(1)  編輯  收藏 所屬分類: AndRoid

    FeedBack:
    # re: [摘]android listview選中某一行,成選中狀態顏色高亮顯示
    2011-09-03 15:02 | qinglfxy
    這樣的都不會達到理想的效果,點擊某頁的某一項,顏色改變,其他頁也會有一項的顏色跟著改變的。  回復  更多評論
      
    主站蜘蛛池模板: 亚洲一区二区女搞男| 亚洲AV第一页国产精品| 好吊色永久免费视频大全| 久久夜色精品国产亚洲| 成年人在线免费看视频| 好吊色永久免费视频大全| 亚洲an日韩专区在线| 亚洲人成影院在线无码观看| 国产精成人品日日拍夜夜免费 | 久久亚洲高清综合| 亚洲免费一级视频| 老司机午夜精品视频在线观看免费| 国产AV无码专区亚洲Av| 成年女人喷潮毛片免费播放| 国产在线观a免费观看| 99热亚洲色精品国产88| 亚洲香蕉成人AV网站在线观看 | 成全高清视频免费观看| 精品熟女少妇aⅴ免费久久| 亚洲国产熟亚洲女视频| 亚洲色偷偷综合亚洲AVYP| 最近最好的中文字幕2019免费| 99在线免费视频| 亚洲欧洲精品成人久久曰| 亚洲天天做日日做天天看 | 亚洲中文字幕丝袜制服一区| 1000部啪啪未满十八勿入免费 | 拨牐拨牐x8免费| 免费精品久久天干天干| 国产精品亚洲一区二区无码| 亚洲成人福利网站| 国产亚洲综合一区柠檬导航| 国产zzjjzzjj视频全免费| 69成人免费视频| 无码一区二区三区免费| 国产精品免费久久久久影院| 亚洲av成人一区二区三区观看在线| 亚洲激情校园春色| 久久精品亚洲综合一品| 亚洲最大AV网站在线观看| 四虎影院永久免费观看|