为了自定义android simple list item 1
的颜色,我创建了一个看起来像
<resources>
<style name="BlackText">
<item name="android:textColor">#000000</item>
</style>
</resources>
并将其应用于清单文件中的活动,如
android:theme="@style/BlackText"
这种解决了我的问题,默认列表项的颜色更改为黑色,但我在该活动上的对话框的文本颜色也更改为黑色,我不想这样做。 Oe的另一种选择是制作我自己的adapter
并覆盖我不想做的bindView
方法还有其他选择......?
修改
我制作了自己的布局,如
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/somerandomid"
android:padding="5sp"
android:layout_width="fill_parent"
android:textSize="15sp"
android:singleLine="true"
android:background="#FFF"
android:textColor="#000"
android:gravity="center"
android:layout_height="fill_parent"/>
并像
一样使用它 adapter= new SimpleCursorAdapter(SomeActivity.this,R.layout.myownlayout, cursor, columns, views);
问候。
答案 0 :(得分:1)
那么你可以做什么而不是将ListView绑定到android.R.layout.simple_list_item_1
,你可以使用一个TextView
创建自己的布局。假设布局将被称为listviewlayout.xml
。它看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textviewlist"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:text="TextView" >
</TextView>
</LinearLayout>
您可能需要移动TextView
以使其处于正确的位置。然后,从清单中删除此部分:
android:theme="@style/BlackText"
然后像这样设置ListView适配器:
setListAdapter(new ArrayAdapter(this, R.layout.listviewlayout, listItems));
答案 1 :(得分:0)
显然我必须复制与默认布局中指定的id相同的ID,所以我改变了
android:id="@+id/somerandomid"
到
android:id="@android:id/text1"
我的事情进展顺利