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