我需要创建没有XML的视图。我通过View的getID
方法检索视图ID,但我得到了ResourceNotFoundException
。我尝试使用setID
方法来修复此ID,但它不再起作用了。
答案 0 :(得分:1)
如果您尚未在布局XML文件中声明视图并将id放在其上,则无法使用
检索它 findViewById(int)
如果您在没有XML的情况下创建视图,则应该在没有资源ID的情况下进行管理。您只需创建视图并为其命名,然后使用该名称对其进行操作。
您始终可以将其引用传递给其他类,或者通过创建它的类来访问它。
但是,您是否希望不以XML格式声明它?通常,当您启动项目时,您无法看到如何使用XML布局执行某些操作,并选择以编程方式创建大多数视图。在您继续学习该项目之后,或者在几乎所有情况下都可以获得更多经验,您会发现您可以使用XML完成它。
答案 1 :(得分:1)
我认为问题在于。
当您致电findViewById()
时,它会在显示树中搜索该视图。因此,要从树中获取视图,您应该已使用函数addView()将视图添加到树中。如果您还没有这样做,可能无法在树中找到该视图。
答案 2 :(得分:0)
如果您尝试打印视图的getId(int)
,您是否获得了有效的ID?
尝试在正确的上下文中使用findViewById(int)
,例如yourContext.findViewById(int);
答案 3 :(得分:0)
lv = new ListView(this); lv.setId(android.R.layout.simple_list_item_1);
SimpleCursorAdapter ca = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, c, from, to);