Это главный экран приложения для Android. Все, что отображается внутри WebView.
Когда я нажимаю кнопку в левом нижнем углу, открывается этот оверлей с динамическим добавлением его содержимого.
Когда я нажимаю один из значков, он должен быть добавлен в панель слева. И так оно и есть.
Когда я нажимаю другой значок, все равно ничего не происходит. Функция, которую он должен вызвать, не запускается (я проверил, положив alert ()
в начале ее).
Когда я закрываю оверлей (кнопка в верхнем левом углу) и снова открываю его (внизу слева), я могу добавить еще один значок. Но опять же, следующее событие не будет срабатывать, пока оверлей не будет закрыт и не откроется еще раз.
Я не знаю, как легко это будет исправляться, так как я не уверен, что все испытывают эту проблему. Я (на моем Samsung GT-P6200 под управлением Android 4.0.4). Кто-то еще пожаловался мне об этом. Однако в эмуляторе Android, включенном в SDK, такого типа не происходит с Android 4.1 и 4.1. Кажется, это проблема 4.0.
Значок в наложении выглядит так: <div class="appLauncher" onClick="launchApp (' + i + ')"><img src="data:image/png;base64,' + base64 + '" alt="[~]" /><br /><span>' + label + '</span></div>
Я использую jQuery для взаимодействия с DOM, если это имеет значение.
function launchApp (i)
{
// Putting an alert () here indicates that the function doesn't get called, because no alert box appears on the screen //
try
{
if (! launcherEdit)
{
android.launchAppFromList (i);
}
else
{
addAppToLauncherFromList (i); // This is what should happen //
}
}
catch (ex)
{
handleException (ex);
}
}
Само приложение можно найти здесь; https://play.google.com/store/apps/details?id=be.robinj.ubuntu
Его исходный код можно найти здесь; http://bazaar.launchpad.net/~robinj/be.robinj.ubuntu/trunk/files
И это файл Javascript; http://bazaar.launchpad.net/~robinj/be.robinj.ubuntu/trunk/view/head:/assets/script.js
И, пожалуйста, просто пожалуйста, не закрывайте это как "точный дубликат", не понимая, какова фактическая проблема, как это случалось много раз раньше.
Этот кровавый беспорядок появляется только на Android 4.0.4 и ниже (или где-то рядом с этим номером версии). Он только нажимает на appLaunchers, которые полностью игнорируются.
Я начинаю видеть какое-то соединение здесь... Он всегда начинает терпеть неудачу после анимации jQuery, добавив элемент в левую полосу. Это начинает выглядеть подозрительно, как проблема перерисовки...
Не уверен, связано ли это, но увидел, что он появляется в моей консоли...
02-12 14:30:22.650: E/dalvikvm(3936): JNI ERROR (app bug): attempt to use stale global reference 0xe
02-12 14:30:22.650: E/dalvikvm(3936): VM aborting
02-12 14:30:22.650: A/libc(3936): Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1)