好的,这里有一些你应该清楚的事情:
您在xml文件中设置的背景颜色是活动而不是您尝试定义的ListItem。
每个列表项都有自己的布局文件,如果您对列表项使用复杂布局,则应该传递或膨胀。
我将尝试用代码示例解释这个:
****让我们从ListItems布局开始**:将它保存在你的Android项目的res/layout文件夹中,并说** list_black_text.xml
xmlns:android="http://schemas.android.com/apk/res/android"
android:gravity="center_vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
android:id="@+id/list_content"
android:textColor="#000000"
android:gravity="center"
android:text="sample"
android:layout_margin="4dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
嗯,一个简单的布局,准确的TextView。您必须为TextView分配一个ID才能使用它。
现在来看你的屏幕/活动/主要布局,正如我所说,你用android:background属性定义你的屏幕背景。我看到你也在那里定义了一个TextView,我怀疑你正在尝试在那里定义内容/列表项,这根本不需要。
这是您编辑的布局:
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF">
android:id="@android:id/list" android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
最后,最重要的是,设置你的适配器。
setListAdapter(new ArrayAdapter(
this, R.layout.list_black_text, R.id.list_content, listItems));
注意我们传递给适配器layout8ѭ的布局资源,以及我们声明的TextView ID的R.id.list_content。我也将ArrayAdapter更改为String类型,因为它是通用的。
我希望这能解释一切。如果您同意,请接受我的回答。
凌乱,但一个很好的快速修复方式
如果您不想继续进行复杂的布局定义等,也可以通过快速修复来完成此操作。
在实例化适配器时声明一个内部类来执行此操作,这里是代码示例:
ArrayAdapter adapter=new ArrayAdapter(
this, android.R.layout.simple_list_item_1, listItems){
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view =super.getView(position, convertView, parent);
TextView textView=(TextView) view.findViewById(android.R.id.text1);
/*YOUR CHOICE OF COLOR*/
textView.setTextColor(Color.BLUE);
return view;
}
};
/*SET THE ADAPTER TO LISTVIEW*/
setListAdapter(adapter);