在我的 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()
单选按钮组是一组 View ,返回给您当前在组中选择的按钮的 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...
}
关于java - 如何在多语言Android应用程序中获取选定的Radiobutton?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20355117/