gpt4 book ai didi

java - 如何获取单选按钮的 ID 并转换为字符串?

转载 作者:行者123 更新时间:2023-11-30 02:52:17 26 4
gpt4 key购买 nike

我在 Android Studio 中工作并尝试获取所选单选按钮的 ID,然后将 ID 存储在字符串中。这可能吗?

我尝试用 .getId() 替换下面的 .getText() 方法,但它不允许我将它存储为字符串:

    RadioGroup radioGroup = (RadioGroup) findViewById(R.id.radioGroup);
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {

@Override
public void onCheckedChanged(RadioGroup radioGroup, int checkedId)
{
RadioButton checkedRadioButton = (RadioButton) findViewById(checkedId);
String text = checkedRadioButton.getText().toString();
Toast.makeText(getApplicationContext(), text, Toast.LENGTH_SHORT).show();
}
});

最佳答案

getId() 返回一个 int - 与所有 primitive types 一样, 没有 toString() (或任何其他)方法。这是因为,虽然所有对象都有 toString() 方法,但原语不是对象 - 但幸运的是,Java 提供了 wrapper classes 所有原始类型的对象。在int的情况下,相应的包装类称为Integer:

 String text = (Integer)checkedRadioButton.getId().toString();

在这里,我们明确地将 getId() 返回的 int 转换为 Integer 对象,然后调用 toString( ) 在该对象上。

或者,您可以利用 autoboxing让 Java 自动为您处理“包装”:

Integer id = checkedRadioButton.getId();
String text = id.toString();

请注意 getId() 仍然返回一个 int,但是因为您将 id 变量声明为一个 Integer,Java 自动将返回值“装箱”到它的包装类——因此是“自动装箱”。

您还可以使用静态 Integer.toString() 方法:

String text = Integer.toString(checkedRadioButton.getId())

但请注意,在引擎盖下,这里正在执行相同的操作。

关于java - 如何获取单选按钮的 ID 并转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23946337/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com