FindViewById() not finding View
刚刚在我已经可以正常工作的布局中添加了一个新按钮,但是findViewById函数似乎对我不了解的内容感到恼火。
这里是一些布局:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <LinearLayout ... > <ListView android:id="@+id/my_lovely_list" android:layout_width="fill_parent" android:layout_weight="1" /> <Button android:id="@+id/my_lovely_butt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/exit_b" android:layout_weight="0" android:clickable="true" /> </LinearLayout> |
这是一些代码:
1 2 3 4 5 6 7 8 9 | @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ... list_o = (ListView)findViewById(R.id.my_lovely_list); butt_o = (Button)findViewById(R.id.my_lovely_butt); ... } |
因此,最大的麻烦就是找到ListView不会有任何问题,但是Button绝不会有任何问题。 我已经尝试清洁Proyect,并浏览我在这里找到的帖子...但是仍然找不到问题! 有什么想法吗?
1 | import yourpackagename.R; |
代替
导入包的
同样,您的项目
有时文件R无法重新生成。尝试:
- 清理您的项目
- 重建它
- 设法回到已编译的版本,然后尝试一次添加元素,并每次编译以检查R文件
- 最后,最后一个选择是关闭/重新打开蚀,是的,有些错误无法通过其他方式克服。^^"
不用担心,这只是一些经常发生的常见eclipse / android错误(其他时候,它也可能是项目中某个地方的小语法错误,但我假设您已经检查过x)
祝好运
如果是语法相关的问题,则与编译时的东西有关。
如果在执行代码时出现问题,请确保布局已膨胀。如果找到了列表视图,则还必须找到该按钮。
确保完成这些过程。
1:确保已导入项目R文件。
1 | import packagename.R |
2:清理您的项目
3:如果以上两种解决方案均无效,请使缓存无效并重新启动
在Android Studio中,
而仅通过清理项目,重建或手动导入R文件,找到活动仍然无法找到指定视图组件ID可能是一件令人遗憾的事情。
然后,如果您检查R文件的详细内容,您会发现ID尚未
生成,然后检查您自己的/ res是否有问题
文件,例如,布局文件的名称,可绘制文件的名称或菜单文件.etc的变体名称。
所有这些都可能使R文件无法正确生成,甚至更糟的是,R文件
根本不产生。