为什么不能全局findViewById?

gagabnddshs 2017-03-28 09:57:45
为什么不能全局findViewById?
...全文
335 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
郭梧悠 2017-04-01
  • 打赏
  • 举报
回复
只有调用setContentView的时候才会对xml的view进行解析和实例化,然后i才能findById这个findById其实是DecorView提供的方法,看源码就知道了
gagabnddshs 2017-03-30
  • 打赏
  • 举报
回复
引用 6 楼 zycxnanwang 的回复:
findViewbyId默认前面有一个View的, 补全来时View.findViewbyID(); 只不过是你在setContentView()时已经绑定了
说的很通俗,我这个新手都能看懂 感谢
gagabnddshs 2017-03-30
  • 打赏
  • 举报
回复
引用 5 楼 jscoolstar 的回复:
一开始学不要指望把每个点都弄清楚了,每个小点在被解释的时候都会出来更深的点,越解释你就越糊涂。你先按着书上的例子或别人的代码学,把最基本的一些写法养成习惯,等你越学越多的时候,你的那些习惯就会有答案了
忽然想明白了,感谢了 大神 尤其是对新人的那种耐心已关注 求带飞
zycxnanwang 2017-03-29
  • 打赏
  • 举报
回复
findViewbyId默认前面有一个View的, 补全来时View.findViewbyID(); 只不过是你在setContentView()时已经绑定了
jscoolstar 2017-03-29
  • 打赏
  • 举报
回复
一开始学不要指望把每个点都弄清楚了,每个小点在被解释的时候都会出来更深的点,越解释你就越糊涂。你先按着书上的例子或别人的代码学,把最基本的一些写法养成习惯,等你越学越多的时候,你的那些习惯就会有答案了
jscoolstar 2017-03-29
  • 打赏
  • 举报
回复
原来昨晚问了,我今早来公司才看到,csdn的提示太不明显了
jscoolstar 2017-03-29
  • 打赏
  • 举报
回复
真囧,我一看这标题就怀疑是不是你来提问的。。。。你直接在原帖问就可以了啊。 你在activity中只有setContentview之后,activity关联上了view,你才能使用findviewbyid方法找出来。否则的话 在你全局设置find的时候oncreate还没执行呢,这个界面还是空白的,你find啥也find不到啊。
ink_s 2017-03-29
  • 打赏
  • 举报
回复
应为张三家的孩纸可以叫小明,李四家的孩子也可以叫小明
xiaohuh421 2017-03-29
  • 打赏
  • 举报
回复
android 还是比较好, 很多都有源码. 遇到不懂, 就跟进去看. 就像你这个findViewByID, 你F7跟进去, 就知道为什么找不到了.
tecsunwong 2017-03-28
  • 打赏
  • 举报
回复
因为ID可以重复,比如R.id.textView1 不同的ACTIVITY的XML中都可以定义一个textView1 ,你全局找出来的ID对应的是哪个呢

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧