2013-06-20 162 views
1

我想改變一個列表項目click.I圖像已嘗試使用視圖,但使用它我得到多個項目更改圖像,即使我只是單擊一個。我正在使用簡單的適配器,代碼與此問題中給出的代碼相同: - changing image on listview at runtime in android更改圖像的列表視圖項目點擊

而且我不想使用自定義的適配器。如果有人幫助我通過簡單的適配器來解決這個問題,它將會非常有幫助。

當前代碼

@Override 
    protected void onListItemClick(ListView l, View v, int position, long id) { 
     // TODO Auto-generated method stub 

     /* 
     imageView=(ImageView)l.getChildAt(position).findViewById(R.id.PlayPause); 


     imageView.setImageResource(R.drawable.pause); 

     */ 
} 
+0

你需要做的'ImageView的ivImage =(ImageView的)v.findViewById(R.id.PlayPause);'' ivImage.setImageResource(R.drawable.pause);' –

回答

0

爲什麼不使用

ListView.OnItemClick(OnItemClickListener{}) 

http://developer.android.com/reference/android/widget/AdapterView.OnItemClickListener.html

+0

我使用ListItemClick但它不可能用這個改變一個物品的圖像。這就是爲什麼我正在尋找一些替代品。 –

+0

你應該使用v.findById(R.id.PlayPause);比l.getChildAt(position).findViewById(R.id.PlayPause);在我看來 – Romain

+0

我已經嘗試過,但它也改變了其他幾個項目的圖像。 –

1

1,不要使用在當u直接獲得子視圖,如 「視圖V」 得子事件。

2-你只需要在視圖中調用invalidate()方法一旦你設置了新的背景資源。

@Override 
protected void onListItemClick(ListView l, View v, int position, long id) { 

    imageView=((ImageView)v) 

    imageView.setImageResource(R.drawable.pause); 

    imageView.invalidate(); 

}

雖然你不應該使用簡單的遊標適配器將ImageView的----讓你列表: -

http://thinkandroid.wordpress.com/2010/01/09/simplecursoradapters-and-listviews/

參考此鏈接進行。

+0

它顯示我在ImageView =((ImageView)v)ClassCastException錯誤 –

相關問題