繁体   English   中英

如何在多语言Android应用程序中获取选定的单选按钮?

[英]How to get the selected Radiobutton in multi-lingual Android app?

在我的Android应用中,我有一组带有几个值的单选按钮。 我还在构建一个API,我需要将所选值发送到该API。 我当然可以通过以下方式获取所选单选按钮的文本:

RadioGroup myRadioGroup = (RadioGroup) getView().findViewById(R.id.myradiogroup);
String selectedValue = ((RadioButton) getView().findViewById(myRadioGroup.getCheckedRadioButtonId())).getText().toString();

问题在于该应用程序将翻译成几种不同的语言,这也使价值也发生了变化。 但是,保持不变的是不同按钮的ID。 因此,我想到了仅获取所选按钮的ID并使用它与API进行通信的想法。 事实是,我只能将radioButtonId作为一个int值,我什至不知道它是否为常数。 另外,它无法简化代码读取。

所以我的问题; 有谁知道我怎样才能得到一个单选按钮的ID作为字符串?

您已经具有该按钮的ID: myRadioGroup.getCheckedRadioButtonId()

单选按钮组是一组视图,它会向您返回该组中当前选中的按钮的ID(与您发布的int一样)。

无论哪种语言设置等,该ID都将始终相同,因此现在您要做的就是根据ID确定要做什么。 您具有各个按钮的ID(无论是在创建按钮时还是通过R),因此您应该不错。 确切的解决方案实际上取决于您如何扩大RadioGroup的规模。

int selectedButtonId = myRadioGroup.getCheckedRadioButtonId();
if (selectedButtonId == R.id.button1)  //or the saved Id when you created the view
{
    //do something...
}
else if (selectedButtonId == R.id.button2) //or the saved Id when you created the view
{
    //do something else...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM