我从ListView项目中获取重复的值(它与文本上的文本相似)。
这是我的问题(我不确定是否会上传图片):
我的ListView代码是:
<ListView id="listView" defaultItemTemplate="template" onItemclick="menuOptions">
<!-- The Templates tag sets the ListView's templates property -->
<Templates>
<!-- Define your item templates within the Templates tags or use the
Require tag to include a view that only contains an ItemTemplate -->
<ItemTemplate name="template">
<ImageView bindId="pic" id="icon" />
<Label id="petLabel" />
<Label id="needleLable" />
<Label id="heightControl"/>
</ItemTemplate>
</Templates>
<ListSection>
<ListItem id="petLabel" val="mascota" pic:image="/images/menu/footprint.png"/>
<ListItem id="needleLable" val="vacuna" pic:image="/images/menu/pet.png"/>
<ListItem id="heightControl" val="estadistica" pic:image="/images/menu/pet.png"/>
</ListSection>
</ListView>
在我用于国际化的文件(platform / android / values-en和values-es)中我得到了这个:
String.xml
<resources>
<!--Menu -->
<string name="itemPet">Pet Profile</string>
<string name="itemNeedle">Needle</string>
<string name="itemHeight">Height Control</string>
</resources>
和values-es
<resources>
<!--Menu -->
<string name="itemPet">Mascota</string>
<string name="itemNeedle">Ver Vacunas</string>
<string name="itemHeight">Control de peso</string>
</resources>
最后我调用文本显示的.tss文件:
'#petLabel':{
textAlign: Titanium.UI.TEXT_ALIGNMENT_CENTER,
text:L('itemPet'),
font:{
fontSize:30,
fontWeight:'bold',
fontFamily:'clear-sans.light'
}
}
'#needleLable':{
textAlign: Titanium.UI.TEXT_ALIGNMENT_CENTER,
text: L('itemNeedle'),
font:{
fontSize:30,
fontWeight:'bold',
fontFamily:'clear-sans.light'
}
}
'#heightControl':{
textAlign: Titanium.UI.TEXT_ALIGNMENT_CENTER,
text:L('itemHeight'),
font:{
fontSize:30,
fontWeight:'bold',
fontFamily:'clear-sans.light'
}
}
我不知道为什么会发生这种情况,我尝试过很多事情而我无法解决,任何想法都会有用。
谢谢。
其他信息:
当我点击ListItem时,我做了一个提醒事件的警报,警报返回:
{properties = {height = 100dp,accessoryType = 0,textAlign = center,font = {fontWeight = bold,fontSize = 30,fontFamily = clear-sans.light},title = Ver Vacunas,val = vacuna,id = needleLable},pic = {image = / images / menu / pet.png}}
标题显示正确的文字,但问题仍然存在。
答案 0 :(得分:0)
这可能是布局问题。
尝试指定layout =&#39; vertical&#39;在ListView和ListSection元素中。
这样的事情:
<ListView id="listView" defaultItemTemplate="template" onItemclick="menuOptions" layout='vertical'>
....
<ListSection layout='vertical'>
答案 1 :(得分:0)
我在Oficial的文档中找到了: http://docs.appcelerator.com/titanium/3.0/#!/guide/Localization
您可以通过XML属性指定本地化。
所以我修改了我的.xml代码:
<ListView id="listView" defaultItemTemplate="template" onItemclick="menuOptions">
<!-- The Templates tag sets the ListView's templates property -->
<Templates>
<!-- Define your item templates within the Templates tags or use the
Require tag to include a view that only contains an ItemTemplate -->
<ItemTemplate name="template">
<ImageView bindId="pic" id="icon" />
<Label bindId="label" id="petLabel" />
</ItemTemplate>
</Templates>
<ListSection>
<ListItem label:text="L('itemPet')" val="mascota" pic:image="/images/menu/footprint.png"/>
<ListItem label:text="L('itemNeedle')" val="vacuna" pic:image="/images/menu/pet.png"/>
<ListItem label:text="L('itemHeight')" title="" val="estadistica" pic:image="/images/menu/pet.png"/>
</ListSection>
</ListView>
现在它的工作正常,这几句话就变得神奇了:标签:text =&#34; L(&#39; itemPet&#39;)&#34; < / p>