- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的 Android TV 项目中使用了 Leanback 库。我想自定义 ListRow,这样我就可以更改要显示的内容行的数量(默认为 1)。
我想到的是:
class CustomListRowPresenter : ListRowPresenter() {
override fun onBindRowViewHolder(holder: RowPresenter.ViewHolder, item: Any) {
/* This two line codes changes the number of rows of ListRow */
val numRows = (item as CustomListRow).numRows
(holder as ListRowPresenter.ViewHolder).gridView.setNumRows(numRows)
super.onBindRowViewHolder(holder, item)
}
override fun initializeRowViewHolder(holder: RowPresenter.ViewHolder) {
super.initializeRowViewHolder(holder)
/* Disable Shadow */
shadowEnabled = false
}
companion object {
private val TAG = CustomListRowPresenter::class.java.simpleName
}
}
class CustomListRow : ListRow {
var numRows = 1
constructor(header: HeaderItem, adapter: ObjectAdapter) : super(header, adapter) {}
constructor(id: Long, header: HeaderItem, adapter: ObjectAdapter) : super(id, header, adapter) {}
constructor(adapter: ObjectAdapter) : super(adapter) {}
companion object {
private val TAG = CustomListRow::class.java.simpleName
}
}
和:
override onCreate() {
val adapter = SparseArrayObjectAdapter(CustomListRowPresenter())
setAdapter(adapter)
}
private fun setContent(content: List<Data>) {
content.forEachIndexed { index, data ->
val position = index.toLong()
val headerItem = HeaderItem(position, data.title)
val presenterSelector = getMediaObjectPresenterSelector()
val dataAdapter = ArrayObjectAdapter(presenterSelector)
val listRow = CustomListRow(position, headerItem, dataAdapter)
data.content.forEach { x ->
dataAdapter.add(x)
}
listRow.numRows = 5
dataAdapters.add(dataAdapter)
adapter.set(position.toInt(), listRow)
}
refresh()
}
所以,一切都很好。我得到了我想要的行,但是有一个问题。例如,如果我想显示 2 行,它就完美了。如果我想显示超过 2 个(这样您在 View 中看不到第二个 customListRow),它就没有焦点。基本上,如果我有 2+ 行并且我尝试从左到右从下到上移动,焦点仅在前 2 行上工作完美。什么可能导致此问题以及如何解决?
想要的输出:
数据:
BIG-OBJ:
title: "1"
list-of-small-objs: small1, small2, small3
BIG-OBJ2:
title: "2"
list-of-small-objs: small1, small2, small3
...
最佳答案
请在java中找到我的代码。
这里的 mainList 包含标题名称和将添加到特定标题下的数据列表。
在我的场景中,我想要连续 10 个数据,所以使用 j 的 for loop 我已经做到了,并且在同一标题下添加了多行。
for (int i = 0; i < mainList.size(); i++) {
ArrayList<HashMap<String,String>> listDataMap = (ArrayList<HashMap<String,String>>) mainList.get(i).get("dataList");
if(!listDataMap.isEmpty()){
CardPresenter cardPresenter = new CardPresenter();
String categoryName = (String) mainList.get(i).get("categoryName");
ArrayObjectAdapter listRowAdapter = new ArrayObjectAdapter(cardPresenter);
List<Movie> list = MovieList.setupGames(listDataMap,i+2);
for (int j = 1; j <= listDataMap.size(); j++) {
listRowAdapter.add(list.get(j-1));
if (j%10 == 0){
HeaderItem header = new HeaderItem( categoryName);
mAdapter.add(new ListRow(header, listRowAdapter));
categoryName = "";
listRowAdapter = new ArrayObjectAdapter(cardPresenter);
}else if ( j == listDataMap.size() ){
HeaderItem header = new HeaderItem( categoryName);
mAdapter.add(new ListRow(header, listRowAdapter));
}
}
}
}
关于AndroidTV - 为 X 行数自定义 ListRow。失去焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52892051/
我有以下从 Worksheet_Change 事件调用的代码(适用于 Excel 2007 和更高版本): Sub InsertRow(Movs As ListObject, currentRow A
我遇到了一个非常奇怪的案例……希望有人能够帮助我,我搜索了很多论坛来寻找解决方案,我能找到的与之相关的最接近的(有点)是 here ,虽然我已经尝试了所有的建议都无济于事...... 我正在尝试运行一
我试图找出为什么 VBA ListRow.Delete当我的表被过滤和未被过滤时,该方法的工作方式似乎有所不同。 我有一个包含电子邮件地址的表,并且有一个名为 AutoCheck 的列使用一个公式来检
我有以下 excel 2013 VBA 的代码片段 For Each r In rr If Not r.Range.Height = 0 Then FNum = FNum + 1 R
我正在查看 Netflix 应用程序及其滚动行为。我想做同样的事情,但不知道从哪里开始。我知道如何覆盖 RecyclerView 的 LayoutManager (尽管我不将其保存为最后的手段)。有没
Android 的 leanback 库提供了一些自定义 RowFragment 的标准方法,包括 Rows 和 Cards 本身,但我不确定如何在框架提供的内容之外添加自定义元素。 我特别想要实现的
当工作表受到保护时,我想将数据添加到每个工作表中每个表的最后一行。 我在 ThisWorkbook 中有这段代码来保护工作表 Private Sub Workbook_Open() Dim w
我必须在 Excel 表格中插入一个空行。要在我正在使用的表中插入行: bugetTable.ListRows.Add AlwaysInsert:=True 到目前为止一切顺利,但期望的结果是整行需要
我在我的 Android TV 项目中使用了 Leanback 库。我想自定义 ListRow,这样我就可以更改要显示的内容行的数量(默认为 1)。 我遵循了指南:https://corochann.
我在 Android TV 应用程序中使用 Google Leanback 小部件。它利用其中包含 ListRows 的 RowsFragment。 我要确定的是,是否有任何方法可以通过编程方式滚动到
我正在运行 VBA for each循环遍历 Excel 表 (Listobject),该表根据给定路径检查文件是否存在。我的表已经扩展,并且有 68K 列表行。启动代码后,很快报错Run-time-
所以这是我的代码: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState
我正在使用 VBA 从其他数据的子集中填充 Excel“表格”范围。 获取数据很快(从缓存的数组或从另一个工作表中数据的 SQL 查询),但添加和删除很慢。 With Worksheets("Over
我开始为我们的应用程序提供 Leanback 支持。根据 UI 要求,我需要添加与每个标题相对应的多个列表行,这与 Youtube 应用程序在 Android TV 上所做的完全一样。默认 ListR
我正在使用 Excel 中的 listobjects 并且遇到以下问题: 每次运行代码时,我都会将数据添加到表中。 以前我必须删除所有旧数据。 ThisWorkbook.Sheets("comm").
我是一名优秀的程序员,十分优秀!