【问题标题】:VerticalGridFragment in leanback library binds data incorrectly for the last rowleanback 库中的 VerticalGridFragment 为最后一行错误地绑定数据
【发布时间】:2016-07-07 00:25:06
【问题描述】:

我正在使用 VerticalGridFragment 来填充我的单个内容列表。我正在使用 ArrayObjectAdapter 作为适配器。我注意到的是最后一行数据排列不正确。例如:

1) 请看上面的图片附件。

2) 如果我的列表由 5 列组成,并且我在最后一行中只有 4 个内容要显示,那么leanback 将在第 2、3、4 和 5 个插槽中显示内容,而第一个插槽将为空。

3) 在其他情况下,最后 5 个内容显示在 1,2,3,4 个插槽中,而不是在第 5 个插槽中填充最后一个内容,最后一个内容被放置在 的中心(第 3 个插槽)完成新行

当涉及到最后一行时,还有很多不一致的数据绑定。

你们有没有人注意到leanback 库中的这种行为?或者有什么解决办法?

这是我的代码摘录:

private volatile ArrayObjectAdapter listAdapter;

private void setupUX() {
   setSearchAffordanceColor(getResources().getColor(R.color.search_bg_color));
    VerticalGridPresenter verticalGridPresenter = new VerticalGridPresenter();
    verticalGridPresenter.setNumberOfColumns(NUM_COL);
    setGridPresenter(verticalGridPresenter);
    CardView cardView = new CardView();
    queriesFired = new HashMap<>();
    dataHandler = new Handler(getActivity().getMainLooper());
    listAdapter = new ArrayObjectAdapter(cardView);
    setAdapter(listAdapter);
    new Handler().postDelayed(() -> startEntranceTransition(), 500);
}

private void populateData() {
    ....
    listAdapter.add(uiContent);
    ....
}

【问题讨论】:

  • 你能分享你使用的代码吗?
  • 请找到与原始问题一起发布的代码。谢谢。

标签: android-tv leanback


【解决方案1】:

发现问题 - 我正在为用于填充列表的图像卡设置 setMaxLines(2)(以便我可以在两行中显示电影标题)。这似乎弄乱了verticalGridFragment的布局。

【讨论】:

  • 感谢您发布解决方案。它也对我有用,这让我免于多喝几杯咖啡))
【解决方案2】:

会出现这种问题。如果您在 kitkat 设备上进行测试。在棉花糖或以上设备上进行测试。这个问题不会发生。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-15
    • 1970-01-01
    • 2019-12-14
    • 1970-01-01
    • 2018-08-07
    • 2020-11-18
    相关资源
    最近更新 更多