从自定义适配器获取片段中的 UI 元素 ID

Posted

技术标签:

【中文标题】从自定义适配器获取片段中的 UI 元素 ID【英文标题】:Get UI Element ID In a Fragment From Custom adapter 【发布时间】:2020-03-06 17:26:58 【问题描述】:

我正在开发一个 android 应用程序,我有一个片段,其中包含 TextView 和 ListView。列表视图具有包含两个按钮的自定义列表项。我想为我的自定义适配器类中的这两个按钮之一创建“onClickListener”以更改 TextView 的文本,但每次尝试我得到空异常时我都无法通过 findViewById() 访问它。

【问题讨论】:

可以分享一下相关的代码截图吗? 【参考方案1】:

我的猜测是您正试图从适配器内部访问 TextView。

如果是这样,那么您将无法获取 TextView,并且获取空指针异常是正常的。 适配器内部的findViewById 只会找到您在适配器的getView() 方法中膨胀的视图。

您在这里可以做的可能是使用您的 Fragment 实现的接口将信息从您的适配器传递回 Fragment。

这个答案可能是一个很好的起点:How to create interface between Fragment and adapter?

【讨论】:

太棒了!!谢谢,这正是我所需要的。它工作正常

以上是关于从自定义适配器获取片段中的 UI 元素 ID的主要内容,如果未能解决你的问题,请参考以下文章

从自定义 ListView 中的 TextView -w/Button 获取文本

具有获取 json 值的片段中的自定义适配器

我缺少啥来启用从自定义适配器到 ListView 的详细信息传输?

在 RecyclerView 适配器中调用片段并获取 id

从适配器中的片段调用元素

如何从自定义基础适配器中删除项目?