1

我正在做一个 PhoneGap Android 项目作为学习经验。

我想根据特定列的长度动态实现一个SwipeView ,我的疑问是:

1)你能取特定列的长度吗?当我们通过以下代码实现它时:

var a = results.rows.length;

我无法添加如下内容

var a = results.COLUMN_NAME.length;

2)我想根据数据库中记录的长度动态实现一个SwipeView 。

我正在考虑使用ViewHolder m 我们在 Android 中的操作方式,例如

mSwipeView.addView(holder.getView(j));

public class ViewHolder { ... }

这个对吗?JavaScript 中是否有类似ViewHolder的功能?

4

1 回答 1

-1

我认为 Javascript 中的 ViewHolder 应该保留对 DOM 元素的引用,这样您就不必查询它。

例如,如果您有可遍历的列表,并且每个项目都类似于具有类 item_0...item_n (或任何其他属性)的 div 元素(或其他任何东西),我们的视图持有者应该保存对这些元素的引用,例如:

var viewHolder = [];
viewHolder[0] = document.querySelector('item_0');
...
viewHolder[n] = document.querySelector('item_n');

然后,如果您需要引用这些元素,例如设置 text 属性或其他任何内容,您可以使用 holder 来完成,而不是不断地查询 DOM:

viewHolder[n].text = "Some text";

当然,在我的示例中,我们的视图持有者应该更加面向对象,这只是为了演示目的。

PS 不要忘记“取消”viewHolder,否则您可能会出现内存泄漏,因为仍有变量链接到 DOM 对象。

于 2017-06-25T09:42:12.657 回答