<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
    這樣的都不會達到理想的效果,點擊某頁的某一項,顏色改變,其他頁也會有一項的顏色跟著改變的。  回復  更多評論
      
    主站蜘蛛池模板: 久久ww精品w免费人成| 亚洲精品在线观看视频| 免费观看美女用震蛋喷水的视频| 污污的视频在线免费观看| 亚洲婷婷天堂在线综合| 亚洲成a人片在线观看无码 | 亚洲欧洲成人精品香蕉网| 在线免费观看毛片网站| 18禁止看的免费污网站| 在线看片免费人成视频播| 美女被艹免费视频| 亚洲色www永久网站| 亚洲综合精品香蕉久久网97| 亚洲精品V欧洲精品V日韩精品| 亚洲国产精品日韩专区AV| 四虎国产精品免费久久影院| a级毛片无码免费真人| 1000部免费啪啪十八未年禁止观看| 免费在线黄色电影| 久久精品无码专区免费| 一级大黄美女免费播放| 黄色免费网址在线观看| 老司机免费午夜精品视频| 亚洲国产成人久久一区二区三区| 亚洲成人激情小说| 亚洲视频免费一区| 亚洲首页在线观看| 亚洲精品视频在线观看视频| 亚洲视频在线免费观看| 亚洲日本在线看片| 亚洲视频在线免费看| 亚洲激情黄色小说| ww亚洲ww在线观看国产| 最新亚洲卡一卡二卡三新区| 中文字幕无码精品亚洲资源网久久| 亚洲色图激情文学| 亚洲av无码一区二区三区天堂| 老子影院午夜伦不卡亚洲| 粉色视频成年免费人15次| 日韩免费高清一级毛片| 国产免费A∨在线播放|