Android以编程方式添加字符串id

Android以编程方式添加字符串id,android,checkbox,Android,Checkbox,我需要以编程方式将id添加到新的复选框中 我试过:checkBox.setId(“黑眼睛”) 但是我收到了int错误 然后我尝试:checkBox.setId(Integer.parseInt(“黑眼睛”) 这里我收到了字符串to int错误 我必须用从API收到的复选框填充LinearLayout,并且我需要按语法显示它。我需要在它们上设置字符串id 如果不可能,那么如何在使用checkBox.setId(“黑眼睛”)时向资源文件(string.xml)添加新字符串您收到一个错误,因为该方法需

我需要以编程方式将id添加到新的复选框中

我试过:
checkBox.setId(“黑眼睛”)

但是我收到了int错误

然后我尝试:
checkBox.setId(Integer.parseInt(“黑眼睛”)

这里我收到了字符串to int错误

我必须用从API收到的复选框填充LinearLayout,并且我需要按语法显示它。我需要在它们上设置字符串id


如果不可能,那么如何在使用
checkBox.setId(“黑眼睛”)时向资源文件(string.xml)添加新字符串
您收到一个错误,因为该方法需要一个
int
,而您提供了一个
字符串

使用
Integer.parseInt(“黑眼睛”)
时出现错误,因为此方法尝试将
字符串作为
int
进行解析。例如
Integer.parseInt(“5”)
将返回
5
(作为
int
)。在您的情况下,
黑眼
不能被解析为
int

您可以使用
View
类的
setTag
方法。调用
checkBox.setTag(“黑眼睛”)
将起作用。然后可以使用
checkbox.getTag()
检索复选框的标记。此方法返回一个
对象
,因此您可以添加以强制转换它
String tag=(String)checkBox.getTag()


PS:您不能在运行时在string.xml中添加新字符串。

我使用sonic answer解决了我的问题。我将在这里介绍我如何管理它,也许有人会使用:

首先,我创建一个Checkbox类型的ArrayList

private static List<CheckBox> eyes_views =  new ArrayList<CheckBox>();
之后,我将新复选框添加到布局并存储在ArrayList中:

list_views.add(checkBox);
eyes_views.addView(checkBox);
最后,当我只为检查过的人搜索什么时:

for (CheckBox checkbox : eyes_views)
{
    if (checkbox.isChecked())
    {
         eyes=eyes.concat(checkbox.getTag()+",");
    }
}

希望它能帮助别人

您可以添加新字符串,如:MyString。请学习java基础知识。然后你就可以明确你的要求了
for (CheckBox checkbox : eyes_views)
{
    if (checkbox.isChecked())
    {
         eyes=eyes.concat(checkbox.getTag()+",");
    }
}