我有一個ListView並且第一次顯示它我想禁用它的一些項目。當android:state_enabled =「false」時無法設置顏色
爲此,我提出這個textorange_selected.xml:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false"
android:color="@color/medium_gray" />
<item android:state_selected="true"
android:color="@android:color/white" />
<item android:state_focused="true"
android:color="@android:color/white" />
<item android:state_pressed="true"
android:color="@android:color/white" />
<item android:color="@color/lighter_orange" />
</selector>
我用它在一排的佈局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="20dp"
android:gravity="left|center"
android:layout_width="wrap_content"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:background="@color/list_bg">
<ImageView
android:id="@+id/avatar"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginTop="10dp"
android:layout_alignParentLeft="true" />
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:layout_toRightOf="@+id/avatar"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp">
<TextView android:id="@+id/listitem1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:textColor="@drawable/textblack_selected"
android:textSize="18dp"
android:textStyle="bold" />
<TextView android:id="@+id/listitem2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="40dp"
android:textColor="@drawable/textorange_selected" />
</LinearLayout>
<ImageView
android:id="@+id/arrowImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
android:layout_alignParentRight="true"
android:src="@drawable/arrow_selector" />
</RelativeLayout>
的問題是,它從未進入android:state_enabled="false"
(那應該是該項目被禁用的時刻,並且我將文本的顏色設置爲灰色)。
對於禁止我使用此代碼的項目中我的適配器:
@Override
public boolean areAllItemsEnabled() {
return false;
}
@Override
public boolean isEnabled(int position) {
return position < 1;
}
哪裏是我的錯?
您正在禁用Java中的TextView? – 2012-07-05 09:06:37
看到我的編輯。我把代碼如何禁用ListView的項目。我在android – Gabrielle 2012-07-05 09:09:30
工作,relativelayout被禁用,不確定textview是。你可以嘗試用duplicateParentState將禁用狀態傳遞給textview – njzk2 2013-03-14 08:37:06