其他分享
首页 > 其他分享> > android-通过数组而不是xml布局中的单独字符串设置单选按钮组中单选按钮的文本

android-通过数组而不是xml布局中的单独字符串设置单选按钮组中单选按钮的文本

作者:互联网

我想对单选按钮组的单选按钮成员使用数组而不是单独的字符串.

这必然是出于我以后需要的逻辑.但是,我找不到在预定义的布局中执行此操作的方法,而以编程方式执行此操作似乎在逻辑和效率上都是不必要的开销:

我将必须获取String [],将其转换为数组,然后遍历单选组(每次创建一个对象):

    RadioGroup rg = (RadioGroup) frg_view.findViewById(R.id.rg1);
    ArrayList<String> arrayText = new ArrayList<>();
    String[] text = getResources().getStringArray(R.array.arr1);
    Collections.addAll(arrayText, text);


    for (int i = 0; i < rg.getChildCount(); i++) {
        RadioButton rb = (RadioButton) rb.getChildAt(i);
        rb.setText(arrayText.get(i));

    }

有没有一种方法可以更聪明地直接在布局文件中执行此操作?否则,我想到的另一个选择就是两次为这些无线电组定义字符串-一次作为布局文件的独立ID,第二次作为程序逻辑的数组

解决方法:

我认为您可以分别定义字符串,然后在res / values / arrays.xml中执行此操作

<resources>
    <string-array>
        <item>@string/radio_button1</item>
        <item>@string/radio_button2</item>
        <!-- etc -->
    </string-array>
</resources>

这不是很好,但是至少您没有两次定义字符串.

标签:radio-group,arrays,android
来源: https://codeday.me/bug/20191121/2054419.html