为了账号安全,请及时绑定邮箱和手机立即绑定

findViewByID返回空

findViewByID返回空

千万里不及你 2019-06-10 17:14:31
findViewByID返回空首先:是的,我读过关于这个话题的所有其他文章。不仅仅是这个地方的人.。(你看,我有点沮丧)他们中的大多数都是带着建议来使用的。android:id而不是仅仅id在XML文件中。我做了。我从别人那里了解到View.findViewById作品不同Activity.findViewById..我也处理好了。在我的location_layout.xml,我使用:<FrameLayout .... >     <some.package.MyCustomView ... />     <LinearLayout ... >         <TextView ...            android:id="@+id/txtLat" />         ...    </LinearLayout></FrameLayout>在我的活动中:...setContentView( R.layout.location_layout );在我的自定义视图类中:... TextView tv = (TextView) findViewById( R.id.txtLat );返回null. 这样做,我的活动运作良好。所以也许是因为Activity.findViewById和View.findViewById差异。因此,我在本地存储传递给海关视图构造函数的上下文,并尝试:...TextView tv = (TextView) ((Activity) context).findViewById( R.id.txtLat );也回来了null.然后,我将我的自定义视图更改为ViewGroup相反View并更改了location_layout.xml让TextView是我的自定义视图的直接子视图,因此View.findViewById应该像想象的那样起作用。企业:它没有解决任何问题。那我到底做错什么了?如有任何意见,我将不胜感激。
查看完整描述

3 回答

?
慕斯王

TA贡献1864条经验 获得超2个赞

,它返回空值。

可能是因为你说得太早了。等到onFinishInflate()下面是一个示例项目展示一种习俗View访问它的内容。


查看完整回答
反对 回复 2019-06-10
?
拉丁的传说

TA贡献1789条经验 获得超8个赞

可能,你在打电话findViewById在打电话之前setContentView?如果是这样的话,试着打电话findViewById 呼叫setContentView


查看完整回答
反对 回复 2019-06-10
  • 3 回答
  • 0 关注
  • 555 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信