我正在做一个PhoneGap Android项目作为学习经历。
我想根据特定列的长度动态实现 SwipeView ,我的怀疑是:
1)你能看一个特定列的长度吗?我们通过以下代码实现它:
var a = results.rows.length;
我无法添加类似以下内容的内容
var a = results.COLUMN_NAME.length;
2)我想根据数据库中记录的长度动态实现 SwipeView 。
我正在考虑使用 ViewHolder 我们在Android中的表现,例如
mSwipeView.addView(holder.getView(j));
public class ViewHolder { ... }
这是对的吗?在JavaScript中是否有类似 ViewHolder 的功能?
答案 0 :(得分:-1)
我认为Javascript中的ViewHolder应该保留对DOM元素的引用,这样您就不必查询它。
例如,如果你有可遍历的列表,并且每个项目类似于具有item_0 ... item_n(或任何其他属性)的div元素(或其他任何东西),我们的视图持有者应该保持对这些元素的引用,例如:
first number : 10
second number: 20
.....MENU.......
1.Add
2.Subtract
3.Multiply
4.Divide
Enter your choice : 1
30.0
Do you want to continue?(Y/y) : y
first number : 20.7
second number: 13.2
.....MENU.......
1.Add
2.Subtract
3.Multiply
4.Divide
Enter your choice : 2
7.5
Do you want to continue?(Y/y) : y
first number : 3.6
second number: 7.9
.....MENU.......
1.Add
2.Subtract
3.Multiply
4.Divide
Enter your choice : 3
28.44
Do you want to continue?(Y/y) : y
first number : 45
second number: 7
.....MENU.......
1.Add
2.Subtract
3.Multiply
4.Divide
Enter your choice : 4
6.428571428571429
Do you want to continue?(Y/y) : n
Process finished with exit code 0
然后,如果您需要引用这些元素,例如设置文本属性或其他任何内容,您可以使用持有者,而不是经常查询DOM:
var viewHolder = [];
viewHolder[0] = document.querySelector('item_0');
...
viewHolder[n] = document.querySelector('item_n');
当然,我的视图持有者应该更加面向对象,然后在我的示例中仅用于演示目的。
P.S。不要忘记"取消" viewHolder否则你可能会有内存泄漏,因为仍有变量链接到DOM对象。