0
Appceleratorフレームワーク(Appcelerator Studioを使用)を使用してアプリケーションを開発していますが、まだ解決策がなければ問題は発生しています。私はすべての世界の国とその関連電話プレフィックスのリストを作成していAppcelerator - ListViewエラー(Androidのみ)
、すなわち「米国+1」、「イギリス+44」というように。 ListViewを使用しています。これはユーザーが選択する必要があるためです。 iOSではすべて機能しますが、Androidのフィジカルデバイス内でアプリを実行すると、ListItemsはすべてプレゼントとなりますが、テキストは表示されません。つまり、iOSでは、各行にすべての国とその対応する名前が表示されています。 Androidでは、ListView内に150以上の行があり、その行をクリックすると、アプリケーションが対応する国を選択しますが、行に印刷されたテキストが表示されません。
(動的bindIdプロパティを使用してそれらを追加)私は要素を追加先のListSectionを私はItemTemplateにを使用しています、そして私は(JavaScriptを使用して)を作成します。
Appceleratorで構築された他のアプリケーションにはこの問題がないことが分かりましたので、私はどこが間違っているのか把握しようとしています。
countryList.xml
<Alloy>
<Window class="container" id="win_firstStart_countryList">
<ListView id="ListView_prefixes">
<SearchBar id="searchBar_countries"/>
<Templates>
<ItemTemplate id="countryCodeTempl" name="countryCodeTempl">
<Label id="label_countryName"/>
<Label id="label_countryPrefix"/>
</ItemTemplate>
</Templates>
</ListView>
</Window>
</Alloy>
countryList.tss
"#ListView_prefixes": {
"left": "0.00%",
"top": "0%",
"defaultItemTemplate": "countryCodeTempl"
},
"#countryCodeTempl": {
"color": "#000000",
"backgroundColor": "#000000",
},
"#label_countryName": {
"color": "#000000",
"font": {fontSize:'18dp',fontFamily:'',fontStyle:'',fontWeight:''},
"left": "3%",
"top": "4dp",
"bindId": "countryName",
"height": Ti.UI.SIZE,
"width": "45%",
"backgroundColor": "#ff0000",
},
"#label_countryPrefix": {
"bindId": "countryPrefix",
"top": "4dp",
"width": "45%",
"height": Ti.UI.SIZE,
"color": "#000000",
"font": {fontSize:'18dp',fontFamily:'',fontStyle:'',fontWeight:''},
"right": "3%",
"textAlign": "right"
},
"#win_firstStart_countryList": {
"left": "0.00%",
"top": "0%",
"height": "100%",
"width": "100.00%",
"backgroundColor": "#ffffff",
}
countryList.js
var countrySection = Ti.UI.createListSection({});
var items = [];
var db = Ti.Database.open(DB_NAME);
var query = db.execute("SELECT country_code, country_name, country_prefix from countries");
while (query.isValidRow()) {
items.push({
countryName: { text: query.fieldByName('country_name') },
countryPrefix: { text: "+ " + query.fieldByName('country_prefix') },
properties: {
title: query.fieldByName('country_name'),
itemId: query.fieldByName('country_code'),
searchableText: query.fieldByName('country_name'),
caseInsensitiveSearch: true
}
});
query.next();
}
query.close();
db.close();
countrySection.setItems(items);
$.ListView_prefixes.sections = [countrySection];
$.ListView_prefixes.searchView = $.searchBar_countries;
$.searchBar_countries.addEventListener('change', function(e){
$.ListView_prefixes.searchText = e.value;
});
ドゥAndyroidデバイスでのみListItems内にcountryName
とcountryPrefix
が表示されないのはなぜですか?