我想对单选按钮组的单选按钮成员使用数组而不是单独的字符串.
这必然是出于我以后需要的逻辑.但是,我找不到在预定义的布局中执行此操作的方法,而以编程方式执行此操作似乎在逻辑和效率上都是不必要的开销:
我将必须获取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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。