我基本上有一个AsyncTask
(从主运行Activity
)填充一个ViewPager
在一个片段内。我正在膨胀 xml 布局文件来填充ViewPager
.
问题是我无法获取指向布局内视图(imageview、textview)的指针,以便我可以在运行时进行更改。我知道这可能是因为getView()
回报null
。我读过这可能是因为onCreateView()
还没有被叫到。有人知道我能做什么来解决这个问题吗?
我的代码现在有点混乱。
这是我正在做的事情的更简单的解释:
- MainActivity Asynctask 填充数据库并向 Fragment 发送指针。类似于 SendToFragement(db);
- Fragment 方法 ReceiveFromActivity(db) 接收 db 指针并填充 ViewPager。
如果我只是创建 TextView、设置文本并将 TextView 添加到 Viewpager,它就可以正常工作。但是,当然,我想让它看起来更好,所以我膨胀了一个 xml 布局。问题是我无法更改 xml 布局的内容,因为getView()
正在返回NULL
so getView().findViewById()
不起作用。
根据 PagerAdapter 的实现,不再出现在视图中的 Fragment 可能会拥有它们的View
销毁以释放资源。因此,无需更新View
因为它将再次被创建onCreateView()
与更新的信息。getView()
将在调用之间返回一个视图onCreateView()
and onDestroyView()
。除此之外,Fragment
仍然可以存在于内存中,但不附加到任何View
, thus getView()
将返回null
.
所以基本上,
View fragmentView = getView();
if(fragmentView != null) {
// we are in view or at least exist. Update the elements.
}
// Else don't worry about it. Just update the data.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)