Ⅰ android listview點擊背景改變,點擊其他事背景變回原來的樣子,被點擊的改變
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android ">手隱握
<item android:state_window_focused="false"
android:drawable="@drawable/沒有焦點時的圖片背景" />
<item android:state_focused="true" android:state_pressed="true"
android:drawable=
"@drawable/非觸摸模式下獲得焦點並單擊時的背景圖片" />
<item android:state_focused="false" android:state_pressed="true"
android:drawable="@drawable/觸摸模式下單擊時的背景圖片" />
<item android:state_selected="true"
android:drawable="@drawable/選中時的圖片背景" />畢慶
<item android:state_focused="true"
android:drawable="@drawable/獲得焦點時的圖片背景" />
</selector>
在ListView布局攜敗中設置android:listSelector。。。。
Ⅱ 實現android中listView的item點擊變背景色
我的錯沒看清楚褲岩問滲銷題。
按題主代碼自測在4.4.2上面沒有出現該問題。
---------------------原答案分隔線------------------------
你這樣寫的代碼胡喊御不是最優的,一種比較好的寫法是自定義Adapter,在getview方法裡面自定義一個list的item的xml文件,在xml裡面用自定義selector。而listview在xml裡面的屬性中listSelector要設置為空就是android:listSelector="@null"
Ⅲ android listView 怎麼指定項的背景設置
android listview指定項設定背景步驟如下:
監聽列表項監聽事件,取得被點擊的view,設置為:view.setSelector("true");
2.在適配器塌鎮中,用if-else語句,判斷選擇的列表項設置背景,沒有選中的則默認背景,代碼如下:
java">try{
if(selectItem==position){
messagetitle.setTextColor(android.graphics.Color.BLACK);
messagetime.setTextColor(android.graphics.Color.BLACK);
viewHolder.messagetitle.setText(maps.get(position)
.get("messagetitle").toString());
viewHolder.messagetime.setText(maps.get(position)
.get("messagetime").toString());
convertView.findViewById(R.id.expandable1)
.setBackgroundColor(android.graphics.Color.WHITE);
convertView.findViewById(R.id.expandable1)
.setBackgroundResource(R.drawable.menu_shapeclick);
}else{
messagetitle.setTextColor(android.graphics.Color.WHITE);
messagetime.setTextColor(android.graphics.Color.WHITE);
viewHolder.messagetitle.setText(maps.get(position)
.get("messagetitle").toString());
viewHolder.messagetime.setText(maps.get(position)
孫鬧.get("messagetime").toString());
convertView.findViewById(R.id.expandable1)
.setBackgroundResource(
團凱粗R.drawable.menu_shapeunonclick);
}
}catch(Exceptionex){
ex.printStackTrace();
}
returnconvertView;