Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.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
Blackberry-具有不同ID的可点击列表视图';s_Blackberry - Fatal编程技术网

Blackberry-具有不同ID的可点击列表视图';s

Blackberry-具有不同ID的可点击列表视图';s,blackberry,Blackberry,我在listview中遇到了一些问题,请单击导航。当我添加add(myListView)时内为循环,此循环在屏幕上反复添加记录,例如第一次添加第一条记录,第二次使用第二条记录再次添加第一条记录。代码如下: for(inti=0;i

我在listview中遇到了一些问题,请单击导航。当我添加
add(myListView)时内为循环,此循环在屏幕上反复添加记录,例如第一次添加第一条记录,第二次使用第二条记录再次添加第一条记录。代码如下:

for(inti=0;i
如果我在for循环之外添加
ListView
,并且我添加
add(myListView)外部为循环,此循环在屏幕上正确添加记录,但每次单击第一条记录时都会获取最后一条记录的ID


我希望所有记录都正确显示在屏幕上,当我单击任何记录时,它会获取该记录的id,而不是其他记录。

您不希望添加多个列表。您需要一个包含多行的列表。JSON数据中的每条记录都应该是列表中的一行

所以,你应该保留这个代码

myListView=新建CustomListField(v){
公共布尔跟踪轮单击(整数状态,整数时间)
{
/*UiApplication.getUiApplication().pushScreen(新的ViewMoreHotlist(nextGiftsId))*/
返回true;
}
};
添加(myListView);
for
循环的
外部。您应该只在
for
循环中添加行。您正在循环中执行此操作:

v.addElement(新的ListRander(bmpResized、listitle、listDesc、listDesc2、navBar));
看起来不错。我看不出您如何定义和以后如何使用
v
,但列表需要以某种方式从
v
获取数据。根据以下评论,听起来你已经这么做了:

如果我在for循环外添加ListView并添加add(myListView);在for循环外部,此循环正确地在屏幕上添加记录

所以,您现在唯一的问题是,当您检测到列表单击时,您将获得最后一行的ID。您需要将单击处理程序更改为以下内容:

myListView=新建CustomListField(v){
公共布尔跟踪轮单击(整数状态,整数时间)
{
//选择了哪一行?
int index=getSelectedIndex();
String friendId=object.getJSONArray(“friends\u user\u id”).getString(索引);
UiApplication.getUiApplication().pushScreen(新的ViewMoreHotlist(friendId));
返回true;
}
};
您需要确保在调用
trackwheelClick()
时,JSON响应
object
可用。您可以将其作为类中的成员变量。。。也许你已经这么做了


解决您的问题的关键是使用
getSelectedIndex()

单击此扩展列表字段?@Signare.后获取所选索引。。是的,这是从ListField扩展而来的。您想要多少个列表?您想要一个列表还是多个列表?一个列表可以有多行。@Nate。。我想要许多清单。基本上,它取决于从数据库中获取值的counts
totalfriends
,并根据该值在屏幕上添加列表字段。@Nate。。。请检查此图像[链接],此时仅显示一条记录,当数据增加时,列表字段行也会增加。