在我的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作为字符串?
答案 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...
}