如何在android中将动态字符串设置为Edittext字段的Id

如何在android中将动态字符串设置为Edittext字段的Id,android,android-edittext,Android,Android Edittext,我有多个动态出现的字符串,我想将这些字符串设置为表单中EditText字段的Id。我该怎么做,你能帮我吗 例如:如果我有id“title”,我想将这个标题设置为EditText字段的id,这样当我想访问这个字段的值时,我可以像findviewById(title)一样访问它 请帮帮我 非常感谢您。不,您不能使用char、String或除int之外的任何其他内容设置id。因为,id由R.java文件维护,该文件只包含int 您可以使用setTag()而不是setId() 使用setTag()如下所

我有多个动态出现的字符串,我想将这些字符串设置为表单中EditText字段的Id。我该怎么做,你能帮我吗

例如:如果我有id“title”,我想将这个标题设置为EditText字段的id,这样当我想访问这个字段的值时,我可以像findviewById(title)一样访问它

请帮帮我


非常感谢您。

,您不能使用
char
String
或除
int
之外的任何其他内容设置
id
。因为,
id
R.java
文件维护,该文件只包含
int

您可以使用
setTag()
而不是
setId()

使用
setTag()
如下所示

edText.setTag("title");
以后可以使用getTag()edText.getTag()检查它


您可以使用findViewWithTag查找带有特定标记的视图。

您可以通过反射获取id。例如,如果您有一个xml视图,其id为:
@+id/select_time
,那么您可以通过以下方式获得
R
类中的int值:

String idStr = "select_time";
    //com.example.appandroidtest is your app's package name
    Class<?> clz = com.example.appandroidtest.R.id.class;
    try {
        int viewId = (int) clz.getField(idStr).get(null);
    } catch (Exception e) {
        e.printStackTrace();
    }
String idStr=“选择时间”;
//appandroidtest是您的应用程序包名
类clz=com.example.appandroidtest.R.id.Class;
试一试{
int viewId=(int)clz.getField(idStr.get)(null);
}捕获(例外e){
e、 printStackTrace();
}

非常感谢您提供此信息,但这并不是我想要的解决方案。我想将字符串ID设置为字段,然后获取具有这些ID的字段,因为字符串是动态的,所以我不知道字符串的确切名称。。谢谢,但是我没有在xml文件中定义id,因为这些字符串是动态的,是否有任何方法可以将这些字符串作为id动态添加到xml文件中,以便我可以使用您建议的上述方法。非常感谢您的帮助,我真的很感激。有什么方法可以将这些字符串作为id动态添加到xml文件中吗?---我认为这是不可能的,因为您无法在运行时修改任何资源文件。对于这个问题,您有什么替代方法,我可以用来解决这个问题。非常感谢你的帮助。。。谢谢……)Hii,我想为menuitems设置标记,我正在使用以下代码动态创建menuitems PopupMenu popup=new PopupMenu(mContext,v);MenuItem MenuItem=popup.getMenu().add(“title”);当我执行menuItem.getActionView().setTag(“名称”)时;它给了我这个代码的NullPointerException。你能指导我解决这个问题吗?这样我就可以为菜单项设置标签了。提前感谢。尝试使用setTag和getTag。希望您能从中找到有用的信息