如何使ListView
項目在按下時更改其背景,就像它被選中但沒有複選框,我知道它有一個checkListener
或其他東西,但我不知道如何申請。按下後保持其顏色背景,再次按下時將其改回第一個背景。Android - 列表視圖項目在選中時會更改背景(可選)
1
A
回答
1
1)在您的Model-Class
中創建boolean
字段。
2)定義項目的根目錄Layout
(創建id
並在ListView
Adapter's
getView()
方法中找到視圖)。
3)爲根Layout
添加OnClickListener
,如果點擊新的boolean
= true。
4)如果您的Model-Class
項目的新boolean
爲真,請設置根目錄Layout
bg_color_1,否則設置bg_color_2。
2
你listItem.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?android:attr/activatedBackgroundIndicator"
android:orientation="vertical" >
<TextView
android:id="@+id/tv_list_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical" />
</LinearLayout>
您的選擇:listview_selector.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:exitFadeDuration="@android:integer/config_mediumAnimTime">
<item android:drawable="@drawable/list_pressed" android:state_pressed="true"/>
<item android:drawable="@drawable/list_selected" android:state_activated="true"/>
<item android:drawable="@drawable/list_default"/>
</selector>
佈局與listivew:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/listViewMainFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:listSelector="@drawable/listview_selector.xml"
android:choiceMode="singleChoice">
</ListView>
</LinearLayout>
1
試試這個
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
view.setBackgroundColor(Color.GREEN);
}
});
+0
我列表中的其他項目在我按下它們之前也變成綠色, – Dre
相關問題
- 1. 在Android中選擇列表視圖時更改背景顏色
- 2. 激活/選擇ListView中的項目時更改視圖背景
- 3. Android的列表視圖項目更改背景顏色
- 4. 列表視圖的行項目imageview更改背景android
- 5. jQuery更改所選項目更改選定選項的背景
- 6. 動態更改所選列表視圖項背景顏色
- 7. 在列表視圖中選擇多個項目,更改所選項目的背景顏色
- 8. 永久更改所選列表視圖項目的背景顏色,直到其他項目被選中
- 9. 在列表視圖中設置選定的項目背景
- 10. 在列表中選中項目時更改圖像。 Android Honeycomb
- 11. 當在多選模式中選擇時更改列表視圖項目的佈局背景顏色
- 12. 更改選擇列表懸停時的選項背景顏色
- 13. 更改列表框中選定項目的背景顏色
- 14. 如何更改之前選擇的列表視圖項目的背景顏色
- 15. 在列表項選擇上更改背景顏色android
- 16. 更改列表視圖中特殊項目的背景
- 17. 列表視圖中選擇項目背景色
- 18. 爲列表視圖中的選定項目設置背景
- 19. Android更改列表視圖中1項的背景顏色
- 20. 更改列表視圖標題和項目背景
- 21. 當選擇選項卡更改列表視圖項目重複
- 22. ListView更改選定項目的背景
- 23. 在列表視圖背景中懸停時取消選擇listview項目
- 24. 更改選定列表框項目的背景顏色
- 25. 選項卡選擇背景更改
- 26. 在android自定義列表視圖中更改多個選定項目的背景
- 27. 更改列表視圖項目背景動態
- 28. 以編程方式更改列表視圖項目背景
- 29. 列表視圖選擇的項目背景顏色不變
- 30. 多選列表視圖與背景更改不適用於iOS
什麼是'android:state_activated'屬性裏面的item? – Dre