【问题标题】:Android set onClick for a button with no ID or unknown IDAndroid为没有ID或未知ID的按钮设置onClick
【发布时间】:2014-01-08 08:37:22
【问题描述】:

我有一个 web 视图,它显示一个看起来像日历的页面,并且该日历上的事件是可以单击或双击的按钮 - 单/双调用不同的功能。注意:我无法更改此页面的编码。这是一个按钮的 sn-p:<div class="boardpiece clickable" onclick="selectPairing(event, this);" id="sn_18067063" 该按钮的 ID 是动态的 - 或者永远是未知的 - 所以我不能使用它在我的编码中。但是,我需要单击才能处理的项目的类别是已知的。

现在,这里只有几类按钮,所以如果这是一个解决方案,我可以指定为每个类做什么。我想我看到一个问题/答案说您可以通过 HTML 属性识别元素?像“如果 outerHTML 包含”boardpiece clickable”之类的东西做功能“selectPairing”……至少这是我的思路。

或者我是不是走错了路?如果用户单击(点击)元素,我只需要调用这些元素的 onclick 函数。如果我自己创建按钮,那将很简单。我想我可以在我的 onClick 中设置一个停止功能,以便只激活一个按钮,因为它们都具有相同的类。

~丹

【问题讨论】:

  • 看来我所指的示例问题是针对 Capybara 而不是 android。 Here 是个问题。所以,这可能是遥不可及的。

标签: android html onclicklistener double-click buttonclick


【解决方案1】:

如果您想在 Web 视图中对 HTML 页面执行任何操作,则必须修改代码。您需要使用 JavaScript 设置按钮的 onClick 事件,或者您必须根据 ID 从 HTML 页面获取元素。

【讨论】:

  • 嗯,它是加载网页的 HTML 中的 Javascript。这有什么区别吗?我的意思是单击按钮时的 onClick 事件在按钮的编码内 - 正如您从 sn-p 中看到的那样。
  • 是离线 HTML 页面还是网页视图中加载的任何 url?
  • 这是一个在 webview 中加载的网站。
  • 哦,对不起,朋友,那么在这种情况下,您不能在 Web 视图内的项目上设置任何事件列表器。如果您想这样做,那么您必须在 HTML 代码中设置(即在网站中)。跨度>
  • 所以你是说我不能在webview中使用onClickListener而不使用按钮的ID?如何让用户点击日历事件并调用按钮的 onClick 函数?
猜你喜欢
  • 1970-01-01
  • 2017-06-14
  • 2016-04-26
  • 1970-01-01
  • 2015-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多