fix(ui): Don't call setOn(Long)ClickListener for an AdapterView

This commit is contained in:
hyb1996 committed 2018-04-11 16:41:16 +08:00
1 parent b49ea34585
commit 8b82a294d7
3 files changed
+17 -1

No files matched your search

@@ -0,0 +1,9 @@
var J = {};
J.instanceOf = function(obj, clazz){
return java.lang.Class.forName(clazz).isAssignableFrom(obj.getClass());
}
module.exports = J;
+6 -1
View File
@@ -3,6 +3,8 @@ module.exports = function (runtime, global) {
require("object-observe-lite.min")(); require("object-observe-lite.min")();
require("array-observe.min")(); require("array-observe.min")();
var J = require("__java_util__");
var ui = {}; var ui = {};
ui.__view_cache__ = {}; ui.__view_cache__ = {};
@@ -234,7 +236,8 @@ module.exports = function (runtime, global) {
event.consumed = false; event.consumed = false;
emit("touch", event, view); emit("touch", event, view);
return event.consumed; return event.consumed;
}) });
if(!J.instanceOf(view, "android.widget.AdapterView")){
view.setOnLongClickListener(function (v) { view.setOnLongClickListener(function (v) {
var event = {}; var event = {};
event.consumed = false; event.consumed = false;
@@ -244,6 +247,8 @@ module.exports = function (runtime, global) {
view.setOnClickListener(function (v) { view.setOnClickListener(function (v) {
emit("click", view); emit("click", view);
}); });
}
view.setOnKeyListener(function (v, keyCode, event) { view.setOnKeyListener(function (v, keyCode, event) {
event = wrapMotionEvent(event); event = wrapMotionEvent(event);
emit("key", keyCode, event, v); emit("key", keyCode, event, v);
@@ -1,5 +1,7 @@
package com.stardust.autojs.core.http; package com.stardust.autojs.core.http;
import android.widget.AdapterView;
import java.io.IOException; import java.io.IOException;
import java.util.Collections; import java.util.Collections;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;