2012-12-07 40 views
0

我在listview中爲itemview的imageview設置了圖片A.我設置了onclick事件並更改爲另一個圖像B.但是,單擊後它不能更改爲另一個圖像。當我打印日誌時,我看到此方法已被調用。點擊圖片查看改爲其他圖片

holder.bus_icon.setImageResource(R.drawable.bus_blue); 
      holder.bus_icon.setOnClickListener(new OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        Log.i("i", "點擊圖標了+test11" + position); 
        holder.bus_icon.setImageResource(R.drawable.bus_red); 
        adapter.notifyDataSetChanged(); 
       } 
      }); 
+0

不要叫adapter.notifyDataSetChanged();並檢查 –

回答

3

刪除adapter.notifyDataSetChanged();,因爲你沒有在適配器改變,並呼籲holder.bus_icon.invalidate();

希望這可以幫助你。

2

在onclick中,持有者指向錯誤的imageView。

使用這個代替

   @Override 
       public void onClick(View v) { 
        Log.i("i", "點擊圖標了+test11" + position); 
        ImageView iv = (ImageView)v; 
        iv.setImageResource(R.drawable.bus_red); 
       } 

希望它解決