Android-如何以编程方式点击ListView项
如何以编程方式调用Android-如何以编程方式点击ListView项,android,listview,onitemclicklistener,Android,Listview,Onitemclicklistener,如何以编程方式调用项ClickListener列表视图。performItemClick()不起作用。这可能吗?您可以通过为列表视图设置一个onItemClick侦听器 listView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //here you do something } }); 如果出于测试目的需要它,那么可以使用Ro
项ClickListener
<代码>列表视图。performItemClick()不起作用。这可能吗?您可以通过为列表视图设置一个onItemClick
侦听器
listView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//here you do something
}
});
如果出于测试目的需要它,那么可以使用Robotium() 您还可以使用正确的参数调用
单击控制器的onClick
方法来实现所需的功能。答案是
listView1.performItemClick(listView1、3、listView1.GetItemIDataPosition(3))
从链接
如果要单击/轻触/选择第三个列表项,则
listView.performItemClick(listView.getAdapter().getView(3, null, null), 3, listView.getItemIdAtPosition(3));
这对我来说非常有效
mList.performItemClick(
mList.getAdapter().getView(mActivePosition, null, null),
mActivePosition,
mList.getAdapter().getItemId(mActivePosition));
mActivePosition是您的点击位置 将适配器中的标记分配给每个视图
,并findviewByTag()
这对我很有效:
listView.performItemClick(listView.findViewWithTag(listView.getAdapter().getItem(selectedIndex)), selectedIndex, listView.getAdapter().getItemId(selectedIndex));
另请参阅。performItemClick应该可以工作,您的使用方式可能有问题it@cooldev看看我的新答案,但是你如何使用Robotium来实现这一点?让Robotium点击列表项内的文本。问题是“如何以编程方式点击ListView项?”而不是获取列表项单击事件。这实际上将创建一个新视图,以便performItemClick可以工作,是的,它可以工作,但这将不是预期的视图,适配器中的getView具有误导性,它实际上创建了一个视图,而listView正在使用它来填充视图并回收它们。这不会创建视图<代码>mList.performItemClick(mList.getChildAt(mActivePosition)、mActivePosition、mList.getAdapter().getItemId(mActivePosition))代码>@Arst,非常感谢您提供了一个完美的解决方案。