无法刷新 BrowseFragment 中的数据

Posted

技术标签:

【中文标题】无法刷新 BrowseFragment 中的数据【英文标题】:Can't refresh data in BrowseFragment 【发布时间】:2017-12-11 15:42:30 【问题描述】:

我正在使用 this BrowseFragment(Leanback Showcase 中的 PageAndListRowFragment)为我的 android TV 应用中的每个标题项添加多行。现在我无法刷新此片段中的数据。一切正常。我将提供一个示例,我如何设置数据以及如何尝试刷新数据。 这是我的onCreate

public void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setupUi();
    loadData();
    mBackgroundManager = BackgroundManager.getInstance(getActivity());
    mBackgroundManager.attach(getActivity().getWindow());
    getMainFragmentRegistry().registerFragment(PageRow.class, new PageRowFragmentFactory(mBackgroundManager, myObject));

我已将myObject 传递到 PageRowFragmentFactory,这就是我将数据传递到我的片段中的方式。当我刷新数据时(我在 onCreate 中用不同的数据做同样的事情)

getMainFragmentRegistry().registerFragment(PageRow.class,new PageRowFragmentFactory(mBackgroundManager,myObject));

数据从未刷新,重要的是 PageRowFragmentFactory 中的createFragment() 方法没有调用(不是第一次刷新时)。可能是什么问题?

【问题讨论】:

【参考方案1】:

只需传递您在片段工厂中使用的片段中的数据。您并不总是需要将数据作为参数传递。我建议您使用 setter 然后检查是否创建了片段,然后通知数据集更改。

【讨论】:

以上是关于无法刷新 BrowseFragment 中的数据的主要内容,如果未能解决你的问题,请参考以下文章

Android Leanback 库 BrowseFragment

BrowseFragment 行中的最后一个元素

从 Android TV 中的 BrowseFragment 中删除上边距

在 BrowseFragment 之外重用 AndroidTV RowsFragment

在 BrowseFragment 中禁用行缩放/展开

在 BrowseFragment 中禁用标题