亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

android listview 動態改變item內空間的顏色

系統 2059 0

做一個詞典,要將測試的結果在最后顯示出來。

舉例:

單詞:anderstand

選項:A:知道

? ? ? ? ?B:牛

? ? ? ? ?C:大便

? ? ? ? ?D:熱火隊

?

顯然答案是 A。

做測測試的時候,類似這樣的單詞測試有50個,每次都會讓你選擇一個的。比如我選擇了

B:牛,那么這是錯的。

?

我要在最后的單詞測試中將顯示:

?

單詞:anderstand

選項: A:知道

? ? ? ? ?B:牛

? ? ? ? ?C:大便

? ? ? ? ?D:熱火隊

?

將正確的答案的顏色設置成為藍色,選錯的答案設置成為紅色,類似于


android listview 動態改變item內空間的顏色

-----------------------------------------------------------------------------------------------》》》

也就是動態的顯示我們a b ?c ?d四個選項的顏色嘍。

listview用的是適配器是繼承了baseadapter,所以我們從網上找答案,

(其實,我相信,好多同學朋友,起初使用listview都是通過百度,或者是谷歌來找代碼做demo的)

于是百度,谷歌下,

?

http://www.cnblogs.com/allin/archive/2010/05/11/1732200.html

代碼:

    public class MyAdapter extends BaseAdapter{
 
        private LayoutInflater mInflater;
         
         
        public MyAdapter(Context context){
            this.mInflater = LayoutInflater.from(context);
        }
        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return mData.size();
        }
 
        @Override
        public Object getItem(int arg0) {
            // TODO Auto-generated method stub
            return null;
        }
 
        @Override
        public long getItemId(int arg0) {
            // TODO Auto-generated method stub
            return 0;
        }
 
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
             
            ViewHolder holder = null;
            if (convertView == null) {
                 
                holder=new ViewHolder();  
                 
                convertView = mInflater.inflate(R.layout.vlist2, null);
                holder.img = (ImageView)convertView.findViewById(R.id.img);
                holder.title = (TextView)convertView.findViewById(R.id.title);
                holder.info = (TextView)convertView.findViewById(R.id.info);
                holder.viewBtn = (Button)convertView.findViewById(R.id.view_btn);
                convertView.setTag(holder);
                 
            }else {
                 
                holder = (ViewHolder)convertView.getTag();
            }
             
             
            holder.img.setBackgroundResource((Integer)mData.get(position).get("img"));
            holder.title.setText((String)mData.get(position).get("title"));
            holder.info.setText((String)mData.get(position).get("info"));
             
            holder.viewBtn.setOnClickListener(new View.OnClickListener() {
                 
                @Override
                public void onClick(View v) {
                    showInfo();                 
                }
            });
             
             
            return convertView;
        }
         
    }
  
?

還有: http://xqjay19910131-yahoo-cn.iteye.com/blog/1167956

代碼:

?

    public class MyAdapter extends BaseAdapter{  
          
        private LayoutInflater flater;  
          
        public MyAdapter(Context context) {  
            super();  
            this.flater = LayoutInflater.from(context);  
        }  
  
        public int getCount() {  
            // TODO Auto-generated method stub  
            return list.size();  
        }  
  
        public Object getItem(int arg0) {  
            // TODO Auto-generated method stub  
            return null;  
        }  
  
        public long getItemId(int arg0) {  
            // TODO Auto-generated method stub  
            return 0;  
        }  
  
        public View getView(int position, View convertView, ViewGroup parent) {  
            // TODO Auto-generated method stub  
            ViewHolder holder = null;  
            if(convertView == null){  
                holder = new ViewHolder();  
                convertView = flater.inflate(R.layout.user2, null);  
                holder.headimg = (ImageView) convertView.findViewById(R.id.headimg);  
                holder.nickname = (TextView) convertView.findViewById(R.id.nickname);  
                holder.textsign = (TextView) convertView.findViewById(R.id.textsign);  
                holder.listbtn = (Button) convertView.findViewById(R.id.listbtn);  
                convertView.setTag(holder);  
            }  
            else{  
                holder = (ViewHolder) convertView.getTag();  
            }  
            holder.headimg.setBackgroundResource((Integer)list.get(position).get("headimg"));  
            holder.nickname.setText((String)list.get(position).get("nickname"));  
            holder.textsign.setText((String)list.get(position).get("textsign"));  
            holder.listbtn.setOnClickListener(new View.OnClickListener() {  
                public void onClick(View arg0) {  
                }  
            });  
            return convertView;  
        }  
    }  
}  
  
?

又或者兩者的代碼是一樣的。

于是,我弄他們的代碼下來到我的代碼中就成了這樣的:

     // 查詢歷史上搜索過的單詞 ,查詢的表是history_word
	private class TestWordResutListAdapter extends BaseAdapter {
		// List<Map<String , String>> lst ;
		private LayoutInflater mInflater;
		public TestWordResutListAdapter(Context context, List<Map<String, String>> lst) {
			// this.lst = lst ;
			this.mInflater = LayoutInflater.from(context);
			
		}

		@Override
		public int getCount() {
			// TODO Auto-generated method stub
			return lst.size();
		}

		@Override
		public Object getItem(int position) {
			// TODO Auto-generated method stub
			return position;
		}

		@Override
		public long getItemId(int position) {
			// TODO Auto-generated method stub
			return position;
		}

		@Override
		public View getView(int position, View convertView, ViewGroup parent) {
			// 獲取ListView 每個布局文件
			
			if (convertView == null) {
				convertView = getLayoutInflater().inflate(R.layout.wordtestresult_list_item, null); // 獲取每個ListView行的布局
			}
			
			
			//獲得item word單詞的id的值的
			TextView tv_wordtestresult_item_id = (TextView) convertView
			.findViewById(R.id.tv_wordtestresult_item_id); // 顯示的單詞在屏幕上的順序
			//顯示序號的
			TextView tv_wordtestresult_item_index = (TextView) convertView
			.findViewById(R.id.tv_wordtestresult_item_index); // 顯示的單詞在屏幕上的順序
			//顯示單詞的
			TextView tv_wordtestresult_item_word = (TextView) convertView
			.findViewById(R.id.tv_wordtestresult_item_word); // 顯示的單詞在屏幕上的順序
			//顯示答案1
			TextView tv_wordtestresult_item_meana = (TextView) convertView
			.findViewById(R.id.tv_wordtestresult_item_meana); // 顯示的單詞在屏幕上的順序
			//顯示答案2
			TextView tv_wordtestresult_item_meanb = (TextView) convertView
			.findViewById(R.id.tv_wordtestresult_item_meanb); // 顯示的單詞在屏幕上的順序
			//顯示答案3
			TextView tv_wordtestresult_item_meanc = (TextView) convertView
			.findViewById(R.id.tv_wordtestresult_item_meanc); // 顯示的單詞在屏幕上的順序
			//顯示答案4
			TextView tv_wordtestresult_item_meand = (TextView) convertView
			.findViewById(R.id.tv_wordtestresult_item_meand); // 顯示的單詞在屏幕上的順序
			
		
			
			// 根據List lists的值進行設置
			Map<String, String> wordListMap = (Map<String, String>) lst
					.get(position);
			
			
			String id = wordListMap.get("id")  ;
			String keyid = "[" +  wordListMap.get("keyid") + "]";
			String name = wordListMap.get("name");
			String ans_A = wordListMap.get("ans_A");
			String ans_B = wordListMap.get("ans_B");
			String ans_C = wordListMap.get("ans_C");
			String ans_D = wordListMap.get("ans_D");
			
			String ans_index = wordListMap.get("ans_index").trim();
			String ans_press = wordListMap.get("ans_press").trim();
			
			System.out.println("------->>ans_index" + ans_index + "------>>id=" + id);
			System.out.println("------->>ans_press" + ans_press );
			
			tv_wordtestresult_item_meanb.setTag(id) ;
			
			if (ans_index.equals("1")) {  //為正確答案標記綠色的顏色
				tv_wordtestresult_item_meana.setTextColor(Color.GREEN) ;
				System.out.println("-------1>>id =" + id);
				
			}
			else if (ans_index.equals("2")) {
				
				tv_wordtestresult_item_meanb.setTextColor(Color.GREEN) ;
				System.out.println("ans_index-------2>>id =" + id);
			
			}
			else if (ans_index.equals("3")) {
				tv_wordtestresult_item_meanc.setTextColor(Color.GREEN) ;
				System.out.println("ans_index-------3>>id =" + id);
			
            }
			else if (ans_index.equals("4")) {
				tv_wordtestresult_item_meand.setTextColor(Color.GREEN) ;
				System.out.println("ans_index-------4>>id =" + id);
			
            }
			
			
			
			if (!ans_index.equals(ans_press)) { //為選擇錯誤的標記顏色為紅色
				System.out.println("ans_press------->>id =" + id);
				if (ans_press.equals("1")) {
					System.out.println("ans_press-------1>>id =" + id);
					tv_wordtestresult_item_meana.setTextColor(Color.RED) ;
				}
				
				else if (ans_press.equals("2")) {
					System.out.println("ans_press-------2>>id =" + id);
					tv_wordtestresult_item_meanb.setTextColor(Color.RED) ;
				}
				else if (ans_press.equals("3")) {
					System.out.println("ans_press-------3>>id =" + id);
					tv_wordtestresult_item_meanc.setTextColor(Color.RED) ;
                }
				else if (ans_press.equals("4")) {
					System.out.println("ans_press-------4>>id =" + id);
					tv_wordtestresult_item_meand.setTextColor(Color.RED) ;
                }
			}
			
			
			tv_wordtestresult_item_id.setText(id) ;
			tv_wordtestresult_item_index.setText(keyid) ;
			tv_wordtestresult_item_word.setText(name) ;
			tv_wordtestresult_item_meana.setText("A) " +ans_A) ;
			tv_wordtestresult_item_meanb.setText("B) " +ans_B) ;
			tv_wordtestresult_item_meanc.setText("C) " +ans_C) ;
			tv_wordtestresult_item_meand.setText("D) " +ans_D) ;
			
			tv_wordtestresult_item_id = null ;
			tv_wordtestresult_item_index = null ;
			tv_wordtestresult_item_word = null ;
			tv_wordtestresult_item_meana = null ;
			tv_wordtestresult_item_meanb = null ;
			tv_wordtestresult_item_meanc = null ;
			tv_wordtestresult_item_meand = null ;
			
			ans_index = null ;
			ans_press = null ;
			return convertView;
		}

	} // end class

  
?

? 這里的

    			
			tv_wordtestresult_item_meana 
			tv_wordtestresult_item_meanb
			tv_wordtestresult_item_meanc 
			tv_wordtestresult_item_meand 
  

item的四個控件是的眼神是根據item中,從數據庫來的值進行設置的

    		String ans_index = wordListMap.get("ans_index").trim();
			String ans_press = wordListMap.get("ans_press").trim();
			
			System.out.println("------->>ans_index" + ans_index + "------>>id=" + id);
			System.out.println("------->>ans_press" + ans_press );
			
			tv_wordtestresult_item_meanb.setTag(id) ;
			
			if (ans_index.equals("1")) {  //為正確答案標記綠色的顏色
				tv_wordtestresult_item_meana.setTextColor(Color.GREEN) ;
				System.out.println("-------1>>id =" + id);
				
			}
			else if (ans_index.equals("2")) {
				
				tv_wordtestresult_item_meanb.setTextColor(Color.GREEN) ;
				System.out.println("ans_index-------2>>id =" + id);
			
			}
			else if (ans_index.equals("3")) {
				tv_wordtestresult_item_meanc.setTextColor(Color.GREEN) ;
				System.out.println("ans_index-------3>>id =" + id);
			
            }
			else if (ans_index.equals("4")) {
				tv_wordtestresult_item_meand.setTextColor(Color.GREEN) ;
				System.out.println("ans_index-------4>>id =" + id);
			
            }
			
			
			
			if (!ans_index.equals(ans_press)) { //為選擇錯誤的標記顏色為紅色
				System.out.println("ans_press------->>id =" + id);
				if (ans_press.equals("1")) {
					System.out.println("ans_press-------1>>id =" + id);
					tv_wordtestresult_item_meana.setTextColor(Color.RED) ;
				}
				
				else if (ans_press.equals("2")) {
					System.out.println("ans_press-------2>>id =" + id);
					tv_wordtestresult_item_meanb.setTextColor(Color.RED) ;
				}
				else if (ans_press.equals("3")) {
					System.out.println("ans_press-------3>>id =" + id);
					tv_wordtestresult_item_meanc.setTextColor(Color.RED) ;
                }
				else if (ans_press.equals("4")) {
					System.out.println("ans_press-------4>>id =" + id);
					tv_wordtestresult_item_meand.setTextColor(Color.RED) ;
                }
			}
  
?

于是,做好以后,運行程序,當下拉上拉listview的時候,item的顏色是不對的,就是說,不該有顏色的控件,也添加了顏色。

可能是listview這樣的情況大家遇到的比較少,我網上查了下,沒有這樣的例子。苦逼了,最后的居然是這樣的:

?

?

    @Override
		public View getView(int position, View convertView, ViewGroup parent) {
			// 獲取ListView 每個布局文件
			
    
      convertView = null ;
    
    
			if (convertView == null) {
				convertView = getLayoutInflater().inflate(R.layout.wordtestresult_list_item, null); // 獲取每個ListView行的布局
			}
			
			
			//獲得item word單詞的id的值的
			TextView tv_wordtestresult_item_id = (TextView) convertView
			.findViewById(R.id.tv_wordtestresult_item_id); // 顯示的單詞在屏幕上的順序
			//顯示序號的
			TextView tv_wordtestresult_item_index = (TextView) convertView
			.findViewById(R.id.tv_wordtestresult_item_index); // 顯示的單詞在屏幕上的順序
			//顯示單詞的
			TextView tv_wordtestresult_item_word = (TextView) convertView
			.findViewById(R.id.tv_wordtestresult_item_word); // 顯示的單詞在屏幕上的順序
			//顯示答案1
			TextView tv_wordtestresult_item_meana = (TextView) convertView
			.findViewById(R.id.tv_wordtestresult_item_meana); // 顯示的單詞在屏幕上的順序
			//顯示答案2
			TextView tv_wordtestresult_item_meanb = (TextView) convertView
			.findViewById(R.id.tv_wordtestresult_item_meanb); // 顯示的單詞在屏幕上的順序
			//顯示答案3
			TextView tv_wordtestresult_item_meanc = (TextView) convertView
			.findViewById(R.id.tv_wordtestresult_item_meanc); // 顯示的單詞在屏幕上的順序
			//顯示答案4
			TextView tv_wordtestresult_item_meand = (TextView) convertView
			.findViewById(R.id.tv_wordtestresult_item_meand); // 顯示的單詞在屏幕上的順序
			
		
			
			// 根據List lists的值進行設置
			Map<String, String> wordListMap = (Map<String, String>) lst
					.get(position);
			
			
			String id = wordListMap.get("id")  ;
			String keyid = "[" +  wordListMap.get("keyid") + "]";
			String name = wordListMap.get("name");
			String ans_A = wordListMap.get("ans_A");
			String ans_B = wordListMap.get("ans_B");
			String ans_C = wordListMap.get("ans_C");
			String ans_D = wordListMap.get("ans_D");
			
			String ans_index = wordListMap.get("ans_index").trim();
			String ans_press = wordListMap.get("ans_press").trim();
			
			System.out.println("------->>ans_index" + ans_index + "------>>id=" + id);
			System.out.println("------->>ans_press" + ans_press );
			
			tv_wordtestresult_item_meanb.setTag(id) ;
			
			if (ans_index.equals("1")) {  //為正確答案標記綠色的顏色
				tv_wordtestresult_item_meana.setTextColor(Color.GREEN) ;
				System.out.println("-------1>>id =" + id);
				
			}
			else if (ans_index.equals("2")) {
				
				tv_wordtestresult_item_meanb.setTextColor(Color.GREEN) ;
				System.out.println("ans_index-------2>>id =" + id);
			
			}
			else if (ans_index.equals("3")) {
				tv_wordtestresult_item_meanc.setTextColor(Color.GREEN) ;
				System.out.println("ans_index-------3>>id =" + id);
			
            }
			else if (ans_index.equals("4")) {
				tv_wordtestresult_item_meand.setTextColor(Color.GREEN) ;
				System.out.println("ans_index-------4>>id =" + id);
			
            }
			
			
			
			if (!ans_index.equals(ans_press)) { //為選擇錯誤的標記顏色為紅色
				System.out.println("ans_press------->>id =" + id);
				if (ans_press.equals("1")) {
					System.out.println("ans_press-------1>>id =" + id);
					tv_wordtestresult_item_meana.setTextColor(Color.RED) ;
				}
				
				else if (ans_press.equals("2")) {
					System.out.println("ans_press-------2>>id =" + id);
					tv_wordtestresult_item_meanb.setTextColor(Color.RED) ;
				}
				else if (ans_press.equals("3")) {
					System.out.println("ans_press-------3>>id =" + id);
					tv_wordtestresult_item_meanc.setTextColor(Color.RED) ;
                }
				else if (ans_press.equals("4")) {
					System.out.println("ans_press-------4>>id =" + id);
					tv_wordtestresult_item_meand.setTextColor(Color.RED) ;
                }
			}
			
			
			tv_wordtestresult_item_id.setText(id) ;
			tv_wordtestresult_item_index.setText(keyid) ;
			tv_wordtestresult_item_word.setText(name) ;
			tv_wordtestresult_item_meana.setText("A) " +ans_A) ;
			tv_wordtestresult_item_meanb.setText("B) " +ans_B) ;
			tv_wordtestresult_item_meanc.setText("C) " +ans_C) ;
			tv_wordtestresult_item_meand.setText("D) " +ans_D) ;
			
			tv_wordtestresult_item_id = null ;
			tv_wordtestresult_item_index = null ;
			tv_wordtestresult_item_word = null ;
			tv_wordtestresult_item_meana = null ;
			tv_wordtestresult_item_meanb = null ;
			tv_wordtestresult_item_meanc = null ;
			tv_wordtestresult_item_meand = null ;
			
			ans_index = null ;
			ans_press = null ;
			return convertView;
		}

	} // end class

  
?

?

如上上面的一行代碼就解決了問題了。

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

android listview 動態改變item內空間的顏色


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 色一级| 黄色片在线观看网址 | 国产青草亚洲香蕉精品久久 | 日韩一区二区超清视频 | 国产做人爱三级视频在线 | 亚洲欧洲尹人香蕉综合 | 五月天婷婷在线播放 | 欧美黄色第一页 | 久久视屏这里只有精品6国产 | 老师在办公室被躁到白浆 | 插久久 | 亚洲性爰视频 | 91亚洲精品国产第一区 | 国产农村妇女毛片精品久久久 | 新久草在线 | 四虎午夜剧场 | 中文字幕精品一区二区日本大胸 | 亚洲一区二区三区在线网站 | 久久精品这里热有精品2015 | 亚洲图片一区 | 久草在线最新 | a在线观看免费视频 | 国产免费精彩视频 | 亚洲在线视频免费观看 | 操操干| 久久色亚洲 | 亚洲日本一区二区三区 | 亚洲精品tv久久久久久久久久 | 男人天堂网在线视频 | 亚洲欧美色鬼久久综合 | 成人牲交一极毛片 | 国产精品国产三级国产 | 激情影院在线 | 激情宗合网 | 久久久久久久久影院 | 国产日韩精品欧美一区色 | 色婷婷久久久swag精品 | 四房激情网| 草草草在线观看 | 大杳蕉伊人狼人久久一本线 | 亚洲精品国产一区二区图片欧美 |