tôi gặp vấn đề sau.Cách đánh dấu ListView-Items
tôi có một ListView với các hàng tùy chỉnh bao gồm một lần xem hình ảnh và một lần xem văn bản. mã XML của TextView là
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="26px"
android:layout_marginLeft="3px"
android:singleLine="true"
android:ellipsize="end"
android:textColorHighlight="#FEC403"
/>
sau đó tôi có một itemclicklistener rằng hoạt động tốt và tôi muốn làm nổi bật TextView đã được nhấp bằng cách làm như sau.
public void onItemClick(AdapterView<?> adaptview, View clickedview, int position,
long id) {
//TODO: ACTIONS
String pathtofile = (String) adaptview.getItemAtPosition(position);
View rowview = (View) adaptview.getChildAt(position);
rowview.setSelected(true);}
tôi muốn màu đánh dấu là "# FEC403" trong xml (có màu cam nhạt) nhưng màu đánh dấu vẫn có màu xám. Vậy làm thế nào để thiết lập highlightcolor một cách chính xác?
cảm ơn trước
EDIT:
đây là cách tôi đã làm nó cuối cùng:
đây là ListView tập tin mục xml của tôi:
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/rowselector"
>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/musicicon"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:src="@drawable/musicicon"
android:paddingLeft="3px"
/>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="26px"
android:layout_marginLeft="3px"
android:singleLine="true"
android:ellipsize="end"
android:focusable="false"
/>
và rowselector.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true"
android:drawable="@color/orange" />
</selector>
và cuối cùng OnItemClick của tôi là rất ngắn bây giờ:
@Override
public void onItemClick(AdapterView<?> adaptview, View clickedview, int position,
long id) {
//TODO: ACTIONS
clickedview.setSelected(true);
}
bản sao có thể có của [Màu bộ chọn danh sách Android] (http: // stackoverflow.com/questions/2038040/android-listview-selector-color) – MKJParekh
Thật không may, kỹ thuật này không thể được sử dụng để đánh dấu nhiều mục trong listview, bởi vì chỉ có một mục có thể được chọn tại một thời điểm. – faizal