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

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條評論
主站蜘蛛池模板: 久草b| 国产精品免费一区二区区 | 色情毛片| 97香蕉久久夜色精品国产 | 怡红院免费va男人的天堂 | 国内自拍 在线播放 网红 | 色综合天天综久久久噜噜噜久久〔 | 十八毛片 | 国产精品成人四虎免费视频 | 免费h片 | 国产一区二区影院 | 视频一区二区欧美日韩在线 | 91九色视频在线观看 | 亚洲一区二区三区播放在线 | 国产精品一区三区 | 日日夜夜摸摸 | 在线视频福利 | 精品一区二区三区在线视频 | 一级黄片一级毛片 | 香蕉久人久人青草青草 | 99在线热播精品免费 | 久久大香香蕉国产免费网站 | 中文字幕日本一区久久 | 久久精品观看影院2828 | 亚洲精品色 | 亚洲精品老司机综合影院 | 国产精品日韩欧美一区二区三区 | 欧美日韩亚洲综合 | 色婷婷亚洲| 91亚洲视频在线观看 | 激情综合视频 | 欧美高清视频www夜色资源网 | 一本色道久久综合亚洲精品 | 日韩精品一区二区三区中文在线 | 99热首页 | 小说区图片区综合久久亚洲 | 香蕉精品在线 | 欧美亚洲国产精品久久高清 | 四虎影视884a精品国产四虎 | 久久夜夜 | 久久dvd|