java - 如何在多语言Android应用程序中获取选定的Radiobutton?

标签 java android radio-button

在我的 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/

相关文章:

java - 带有复选框的无效结果

android - 如何检查android设备是否在线

android - 如何在android中使用Graph API获取喜欢我的Facebook帖子的人的数据

jquery - 如何使用jquery获取单选按钮的值

javascript - 使用键盘快捷键检查的 radio 输入不会触发事件更改

java - 使用 GSON 创建 JSON 字符串

java - 哈希集包含/等于值

java - Android JSon 反序列化中无法识别的字段

android - 团结 : (Using cardboard SDK) Can we download new images to set as skybox

android - 如何在android中使用自定义单选按钮在警报对话框上添加监听器