Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript中是否有类似于ViewHolder的功能?_Javascript_Android_Cordova - Fatal编程技术网

JavaScript中是否有类似于ViewHolder的功能?

JavaScript中是否有类似于ViewHolder的功能?,javascript,android,cordova,Javascript,Android,Cordova,我正在做一个PhoneGap Android项目作为学习体验 我想根据特定列的长度动态实现SwipeView,我的疑问是: 1) 你能计算一列的长度吗?当我们通过以下代码实现它时: var a = results.rows.length; 我无法添加如下内容 var a = results.COLUMN_NAME.length; 2) 我想根据数据库中记录的长度动态实现SwipeView 我正在考虑如何在Android中使用ViewHolderm,例如 mSwipeView.addView(

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

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

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

var a = results.rows.length;
我无法添加如下内容

var a = results.COLUMN_NAME.length;
2) 我想根据数据库中记录的长度动态实现SwipeView

我正在考虑如何在Android中使用ViewHolderm,例如

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

public class ViewHolder { ... }

这是正确的吗?JavaScript中是否有类似于ViewHolder的功能?

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

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

var viewHolder = [];
viewHolder[0] = document.querySelector('item_0');
...
viewHolder[n] = document.querySelector('item_n');
然后,如果需要引用这些元素,例如设置文本属性或其他任何内容,则可以使用holder,而不是不断查询DOM:

viewHolder[n].text = "Some text";
当然,我们的视图持有者应该更面向对象,而我的示例只是为了演示

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