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

时间:2013-12-03 15:28:42

标签: java android radio-button

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

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

问题是该应用程序将被翻译成几种不同的语言,这也会使价值发生变化。然而,事物保持不变,是不同按钮的id。出于这个原因,我想到只需获取所选按钮的ID并使用它来与API通信。问题是我只能将radioButtonId作为一个int,我甚至不知道它是否是常量。此外,它不能简化代码阅读。

所以我的问题;有谁知道如何将radiobutton的id作为字符串?

1 个答案:

答案 0 :(得分:1)

您已拥有该按钮的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...
}