使用数组适配器创建listView。这是我的代码。
listView = new ListView(context);
ArrayAdapter<String>adapter = new ArrayAdapter<String>(context,android.R.layout.simple_list_item_single_choice, choice);
listView.setAdapter(adapter);
这为文本提供了黑色。我需要将文字颜色改为蓝色。我们怎样才能改变这一点。我使用我的布局与阵列适配器。这是代码
listView = new ListView(context);
ArrayAdapter<String>adapter = new ArrayAdapter<String>(context,layout.my_single_choice, choice);
listView.setAdapter(adapter);
和my_single_choice.xml的代码在下面给出
<?xml version="1.0" encoding="utf-8"?>
<RadioButton xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:id="@+id/my_choice_radio"
android:layout_height="match_parent"
android:button="@null"
android:drawableRight="@android:drawable/btn_radio"
android:text="Option"
style="@style/ListItemTextColor" />
这不起作用我可以选择所有的radiobuttons。当clickListener不工作时,...?我们怎样解决呢?
答案 0 :(得分:4)
有一些方法可以使用它。最常见的方法如下:
使用自定义布局(不在android.R命名空间内)
在您看来,请使用以下代码:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tv"
android:textColor="@color/font_content"
android:padding="5sp"
android:layout_width="fill_parent"
android:background="@drawable/rectgrad"
android:singleLine="true"
android:gravity="center"
android:layout_height="fill_parent"/>
在您的课程中,请使用以下代码:
ListView lst = new ListView(context);
String[] arr = {"Item 1","Item 2"};
ArrayAdapter<String> ad = new ArrayAdapter<String (context,R.layout.mytextview,arr);
lst.setAdapter(ad);
我最喜欢的,覆盖ArrayAdapter的getView方法
ListView listView = (ListView) this.findViewById(R.id.listView);
listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, MobileMuni.getBookmarkStore().getRecentLocations() ) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView textView = (TextView) super.getView(position, convertView, parent);
String currentLocation = RouteFinderBookmarksActivity.this.getResources().getString(R.string.Current_Location);
int textColor = textView.getText().toString().equals(currentLocation) ? R.color.holo_blue : R.color.text_color_btn_holo_dark;
textView.setTextColor(RouteFinderBookmarksActivity.this.getResources().getColor(textColor));
return textView;
}
});
此外,这是此处讨论的结果:How to change text color of simple list item
答案 1 :(得分:0)
如果你真的想保持简单并且不想添加任何新的布局或文件,你可以做这样的事情来改变simple_list_item
的颜色。
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1, listItems) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView textView = (TextView) super.getView(position, convertView, parent);
// Set the color here
textView.setTextColor(Color.parseColor("#000000"));
return textView;
}
};
listView.setAdapter(adapter);