Android 文本颜色阵列与简单列表项单选项相适应

Android 文本颜色阵列与简单列表项单选项相适应,android,android-listview,radio-button,android-arrayadapter,Android,Android Listview,Radio Button,Android Arrayadapter,我正在使用阵列适配器创建listView。这是我的密码 listView = new ListView(context); ArrayAdapter<String>adapter = new ArrayAdapter<String>(context,android.R.layout.simple_list_item_single_choice, choice); listView.setAdapter(a

我正在使用阵列适配器创建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=新的listView(上下文);
ArrayAdapteradapter=新的ArrayAdapter(context,android.R.layout.simple\u list\u item\u single\u choice,choice);
setAdapter(适配器);
这将为文本提供黑色。我需要将文本颜色更改为蓝色。我们如何才能改变这一点。我使用阵列适配器的布局。这就是代码

listView = new ListView(context);
                 ArrayAdapter<String>adapter = new ArrayAdapter<String>(context,layout.my_single_choice, choice);
                 listView.setAdapter(adapter);
listView=新的listView(上下文);
ArrayAdapteradapter=新的ArrayAdapter(context,layout.my_single_choice,choice);
setAdapter(适配器);
下面给出了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" />


这不行,我可以选择我所有的单选按钮。当clickListener不工作时,。。。?我们如何解决这个问题

有一些方法可以用来解决这个问题。最常见的方法如下:

  • 使用自定义listview()
  • 使用自定义布局(不在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);
    
    
    
    在您的类中,使用以下代码:

    <?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);
    
    ListView lst=新的ListView(上下文);
    字符串[]arr={“项目1”,“项目2”};
    
    ArrayAdapter ad=new ArrayAdapter如果您真的想保持简单,不想添加任何新布局或文件,您可以执行类似操作来更改
    简单列表项的颜色

    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);
    
    ArrayAdapter=新的ArrayAdapter(此,
    android.R.layout.simple_list_item_1,android.R.id.text1,list items){
    @凌驾
    公共视图getView(int位置、视图转换视图、视图组父视图){
    TextView TextView=(TextView)super.getView(position,convertView,parent);
    //在这里设置颜色
    textView.setTextColor(Color.parseColor(#000000”);
    返回文本视图;
    }
    };
    setAdapter(适配器);
    
    您尝试过android:textColor吗?您应该为listview使用自定义适配器。我想你需要的是复选框,而不是单选按钮。。并在checkbox.xml中添加@blackbelt指示的文本颜色