我有ListView:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background"
android:orientation="vertical">
<ImageView
android:layout_height="wrap_content"
android:id="@+id/imageView1"
android:src="@drawable/tab"
android:layout_gravity="center_horizontal"
android:layout_width="fill_parent"></ImageView>
<TextView
android:id="@+id/subcat"
android:background="#b9cd4a"
android:layout_width="fill_parent"
android:textColor="#fff"
android:textStyle="bold"
android:layout_height="35dp"
android:textSize="18dp"
android:paddingLeft="10dp"
android:paddingTop="6dp"
android:text="Choose Location"></TextView>
<ListView
android:id="@+id/sub_catlist"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:listSelector="@color/black"></ListView>
</LinearLayout>
我使用TextView布局扩充列表:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:background="#fff"
android:orientation="vertical"
android:layout_height="65dp" >
<TextView
android:text="@+id/albumDetails"
android:id="@+id/albumDetails"
android:textColor="#000"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:textSize="16dp"
android:layout_width="wrap_content"
android:paddingTop="8dp"
android:layout_height="45dp"></TextView>
</LinearLayout>
问题是当我点击列表项时,我没有看到任何突出显示。我需要在用户点击项目时显示突出显示。我怎么能这样做?
答案 0 :(得分:2)
TextView
拦截来自ListView
的点击事件。设置属性
android:focusable="false"
android:clickable="false"
到列表的TextView
。
答案 1 :(得分:0)
我认为问题可能出在android:listSelector="@color/black"
,删除此行
<ListView
android:id="@+id/nativecontacts_contacts_ListView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawSelectorOnTop="false"
android:background="@color/White"
android:divider="@drawable/menu_line"
android:cacheColorHint="#00000000"
android:clickable="true" />
答案 2 :(得分:0)
TextViewClick.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
int count = listview.getChildCount();
for (int i = 0; i < count; i++) {
View v = listview.getChildAt(i);
TextView tx = (TextView) v.findViewById(R.id.txt1);
txt1.setBackgroundColor(Color.RED);
}
txt1.setBackgroundColor(Color.GREEN);
}
});