gpt4 book ai didi

android - findViewByID 返回 null

转载 作者:IT老高 更新时间:2023-10-28 12:51:53 24 4
gpt4 key购买 nike

首先:是的,我阅读了有关该主题的所有其他主题。不仅是来自这个网站的那些......(你看,我有点沮丧)

它们中的大多数都带有在 XML 文件中使用 android:id 而不仅仅是 id 的建议。我做到了。

我从其他人那里了解到,View.findViewById 的工作方式与 Activity.findViewById 不同。我也处理过。

在我的 location_layout.xml 中,我使用:

<FrameLayout .... >
<some.package.MyCustomView ... />

<LinearLayout ... >
<TextView ...
android:id="@+id/txtLat" />
...
</LinearLayout>
</FrameLayout>

在我的 Activity 中:

...
setContentView( R.layout.location_layout );

在我的自定义 View 类中:

... 
TextView tv = (TextView) findViewById( R.id.txtLat );

返回 null这样做,我的 Activity 工作正常。 所以可能是因为 Activity.findViewByIdView.findViewById 的差异。所以我将传递给海关 View 构造函数的上下文存储在本地并尝试:

...
TextView tv = (TextView) ((Activity) context).findViewById( R.id.txtLat );

这也返回了 null

然后,我将自定义 View 更改为扩展 ViewGroup 而不是 View 并更改 location_layout.xml 以让 TextView 是我的自定义 View 的直接子级,因此 View.findViewById 应该按预期工作。惊喜:它没有解决任何问题。

那我到底做错了什么?

我将不胜感激。

最佳答案

which returns null

可能是因为您调用它为时过早。等到 onFinishInflate()Here is a sample project演示访问其内容的自定义 View

关于android - findViewByID 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3264610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com