Android 在webview中为微调器创建单击侦听器

Android 在webview中为微调器创建单击侦听器,android,webview,spinner,onclicklistener,robotium,Android,Webview,Spinner,Onclicklistener,Robotium,我目前正在创建一个应用程序,在网页上记录一个人的动作,并将其保存到JSON文件中。到目前为止,我已经能够做到这一点,但在web视图中记录列表框的操作时遇到问题。然后,我使用JSON文件中存储的操作在robotium中创建一个自动化测试 当我单击列表框时,它会加载一个微调器,其中包含列表框中的所有项目。但是,当我尝试进行更改时,它不会记录它,因为它位于微调器中,而不是web视图中。此外,当通过robotium播放时,它找不到列表框,并导致错误,尽管它具有标识属性 我的问题是如何记录更改listbo

我目前正在创建一个应用程序,在网页上记录一个人的动作,并将其保存到JSON文件中。到目前为止,我已经能够做到这一点,但在web视图中记录列表框的操作时遇到问题。然后,我使用JSON文件中存储的操作在robotium中创建一个自动化测试

当我单击列表框时,它会加载一个微调器,其中包含列表框中的所有项目。但是,当我尝试进行更改时,它不会记录它,因为它位于微调器中,而不是web视图中。此外,当通过robotium播放时,它找不到列表框,并导致错误,尽管它具有标识属性


我的问题是如何记录更改listbox值的操作,并且我需要创建一个微调器侦听器来执行此操作。如果您需要更多信息或任何代码,请告诉我,我将编辑此问题。提前感谢

如果我理解正确,您想知道单击了什么项目。我会这样做:

Spinner s = new Spinner(context);
    s.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            // item at position "position" is clicked
        }
    });
Spinner s=新微调器(上下文);
s、 setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
//单击“位置”处的项目
}
});

无法修复此问题,因为它是robotium中的一个错误。本页显示了该问题:


我想做的是在JSON中创建一个可以通过robotium播放的方法。但是,当前它不支持在单击选择框或微调器时使用它们以及其他东西。我现在将找到解决问题的方法。

我需要,我还需要记录所采取的所有措施。例如选择它并按下“完成”按钮等。因为我所做的每件事都必须能够被机器人重播。我将尝试一下这段代码谢谢:)然后我建议在所有必需的元素上放置OnClickListeners和OnItemClickListeners。然后自己录制或者用事件填充HashMap的ArrayList,以便以后可以阅读这些事件(如果需要的话)ok谢谢。出于兴趣,有没有办法在javascript中实现这一点。我目前在那里有我所有的其他点击、输入文本和更改侦听器,如果我在那里做的话会更容易。有关Android上JavaScript的更多信息,请参见此问题+答案:我在代码中完成了所有这些。问题是微调器不严格在webview中,并且无法在robotium中识别。看来我得用java来做了。谢谢你的帮助!!