Android 4.0.3 + JQM+Phonegapを問題なく使用していました。昨日Android4.1でテストしたところ、動的に生成されたListViewで結果が重複することがありました。たとえば、次のコードを使用して、今日の日付を表示するListViewを生成します。
<ul data-role="listview" data-inset="true" data-theme="c"
data-divider-theme="d" id="todayvalue">
</ul>
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
var today = new Date();
var dayofmonth = today.getDate();
var dayofweek = today.getDay();
var year = today.getFullYear();
var month = today.getMonth();
var myDays= ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"];
var m_names = ["January", "February", "March",
"April", "May", "June", "July", "August", "September",
"October", "November", "December"];
$('#todayvalue').append('<li>Today is '+ myDays[dayofweek]+ ', '+year+'-'+m_names[month]+'-'+dayofmonth+'</li>');
$('#todayvalue').listview('refresh');
}
以前は全く問題ありませんでした。しかし、今では2つの同一の行が生成されます。
誰のせいですか?
更新:プロジェクトをhttps://github.com/ysongfinance/520Tollにアップロードしました。
さらにデバッグした後、onDeviceReady()が2回呼び出されたが、そのうちの1つが奇妙に見えることがわかりました。
07-05 20:42:31.368:I / Web Console(825):######## in OndeviceReady at file:///android_asset/www/js/updatetoll.js:4 07-05 20:42 :31.488:I / Web Console(825):######## in OndeviceReady at null:4
「OndeviceReadyatnull」の2番目の呼び出しを見てください。その「null」はどういう意味ですか?