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,非常感谢您提供了一个完美的解决方案。