Androidアプリのメイン画面です。すべてが WebView 内でレンダリングされます。
左下隅にあるボタンを押すと、このオーバーレイが開き、コンテンツが動的に追加されます。
アイコンの 1 つをクリックすると、左側のバーに追加されます。そしてそうです。
しかし、別のアイコンを押しても何も起こりません。呼び出すべき関数が実行されません(alert ()
先頭に an を付けて確認しました)。
オーバーレイを閉じて (左上隅のボタン)、もう一度開くと (左下)、別のアイコンを追加できます。ただし、次のイベントは、オーバーレイを閉じてもう一度開くまでトリガーされません。
誰もがこの問題を経験するかどうかわからないので、これがどれほど簡単に修正されるかはわかりません. 私(Android 4.0.4を実行しているSamsung GT-P6200で)はそうです。他の誰かもそれについて私に不平を言いました。ただし、SDK に含まれる Android エミュレーターでは、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)