Introduction of Titanium 3.1 ListView
5JUBOJVN͘͘ձJO/*'5:-JTU7JFXͷεεϝ5BCMF7JFXͱҰମͳʹ͕ҟͳΔͷ͔
View Slide
3ZVUBSP.JZBTIJUB$IBU8PSL.PCJMF"QQ&OHJOFFS5JUBOJVN.PCJMFϢʔβʔձॻهSZVHPP@SZVUBSPNJZBTIJUBSZVHPP JNUIJOLFSOFU5JUBOJVN͘͘ձJO/*'5:
5JUBOJVN͘͘ձJO/*'5:ࠓळɺϞόΠϧΞϓϦΛશ໘ϦχϡʔΞϧ5JUBOJVN͘͘ձJO/*'5:
ύϑΥʔϚϯε5JUBOJVN͘͘ձJO/*'5:5JUBOJVNΞϓϦͰ·͞ΕΔ՝ͷͭ
5J6*5BCMF7JFX5JUBOJVN͘͘ձJO/*'5:ΈΜͳେ͖͍ͬͺ͍͏
࣮ੑೳʷ5JUBOJVN͘͘ձJO/*'5:͔ͬͯΔͳ "OESPJEͳ
Ȓ5JUBOJVN͘͘ձJO/*'5:೦ɺզʑͷ5JUBOJVNऴΘͬͯ͠·ͬͨ
5JUBOJVN͘͘ձJO/*'5:ʘʘaaᵋ ТʯʗʗͦΜͳ5JUBOJVNʹٹੈओ͕ʘʘaaᵋ Тʯʗʗ5JUBOJVN͘͘ձJO/*'5:ͦΜͳ5JUBOJVNʹٹੈओ͕
5J6*-JTU7JFX5JUBOJVN͘͘ձJO/*'5:5JUBOJVNYʹݱΕͨ৽͍͠"1*
-JTU7JFXࢁͷSPXΛ࣋ͭ߹ੑೳ͕ྑ͍5JUBOJVN͘͘ձJO/*'5:“ListView is designed to perform betterwith a large number of rows.”
Ξϓϩʔνͷҧ͍5JUBOJVN͘͘ձJO/*'5:-JTU7JFXͱ5BCMF7JFXͷҧ͍
σʔλͱϏϡʔ5JUBOJVN͘͘ձJO/*'5:-JTU7JFXσʔλࢦ5BCMF7JFXϏϡʔࢦ
5JUBOJVN͘͘ձJO/*'5:
5JUBOJVN͘͘ձJO/*'5:σʔλ ϏϡʔใͷҰཡ ԿΒ͔ͷը໘
l-BCFM*NBHF7JFXΛஔ͍ͨ5BCMF7JFX3PXΛࢁ࡞ͬͯ5BCMF7JFXͰදࣔ͢Δz5BCMF7JFXͷΞϓϩʔν5JUBOJVN͘͘ձJO/*'5:
l-BCFM*NBHF7JFXΛஔ͍ͨ5BCMF7JFX3PXΛࢁ࡞ͬͯ5BCMF7JFXͰදࣔ͢Δz5BCMF7JFXͷΞϓϩʔν5JUBOJVN͘͘ձJO/*'5:ύϑΥʔϚϯεͷϘτϧωοΫ
l-JTU7JFXͷ্Ͱ-BCFM*NBHF7JFXΛͲ͏දࣔ͢Δͷ͔Λ༧ΊܾΊ͓ͯ͘z-JTU7JFXͷΞϓϩʔν5JUBOJVN͘͘ձJO/*'5:
l-JTU7JFXͷ্Ͱ-BCFM*NBHF7JFXΛͲ͏දࣔ͢Δͷ͔Λ༧ΊܾΊ͓ͯ͘z-JTU7JFXͷΞϓϩʔνΞΠςϜςϯϓϨʔτ5JUBOJVN͘͘ձJO/*'5:
ίʔυΛݟͤΖ5JUBOJVN͘͘ձJO/*'5:ͬ͝ͱ
var plain_template = {childTemplates: [{type: "Ti.UI.Label",bindId: "myLabel",properties: { left: "10dp" },events: { click: reportFunction }}]};var list = Ti.UI.createListView({templates: { plain: plain_template },defaultItemTemplate: "plain"});5JUBOJVN͘͘ձJO/*'5:ςϯϓϨʔτͷઃఆ
var data = [];[1,2,3,4,5].forEach(function (idx) {data.push({myLabel: { text: "Row #" + idx },properties: { itemId: "item" + idx }});});var section = Ti.UI.createListSection({items: data});list.sections = [section];5JUBOJVN͘͘ձJO/*'5:ςϯϓϨʔτΛͬͯΞΠςϜΛ࡞Δ
5JUBOJVN͘͘ձJO/*'5:list.addEventListener("itemclick",function (e) {// Get clicked item referencevar item = e.section.getItemAt(e.itemIndex);console.log(item.properties.itemId);// Replace clicked iteme.section.UpdateItemAt(e.itemIndex, item);});-JTU7JFXͷΠϕϯτϋϯυϦϯά
-JTU7JFXͱܾΊͨͱ͓ΓͷܗͰσʔλΛදࣔͤ͞ΔͨΊͷͷ5JUBOJVN͘͘ձJO/*'5:
ύϑΥʔϚϯεͦΕͰɺ5BCMF7JFXΑΓੑೳྑ͍ͷ͔Ͷ5JUBOJVN͘͘ձJO/*'5:
5JUBOJVN͘͘ձJO/*'5:3PXT-JTU5BCMF3PXΛ༻ҙ͢Δ࣌ؒಈ࡞ͷػහੑ.Z5BTL3FOEFSJOHUJNFBU&QPDI NT*NBHF7JFX -BCFM-BCFM5BCMF7JFX3PX
5JUBOJVN͘͘ձJO/*'5:)5$%FTJSF4"OESPJEY4OBQESBHPO()[.#3".(PPHMF/FYVT4˺
NTYNTY1SFQBSF 1SFQBSF5JUBOJVN͘͘ձJO/*'5:
5JUBOJVN͘͘ձJO/*'5:ੌ͍5JUBOJVN͘͘ձJO/*'5:ੌ͍"OESPJEͰ͍"OESPJEͰ͍
-JTU7JFX 5BCMF7JFX ˚"OESPJE YJ1IPOF4JNVMBUPS YJ1IPOF Y୯Ґ5JUBOJVN͘͘ձJO/*'5:
5JUBOJVN͘͘ձJO/*'5:J04ޮՌൈ܈J04"OESPJEڞʹ͍J04ޮՌൈ܈5JUBOJVN͘͘ձJO/*'5:J04"OESPJEڞʹ͍
ͬͨίʔυ5JUBOJVN͘͘ձJO/*'5:IUUQTHJUIVCDPNSZVHPP5JUBOJVN-JTU7JFX4BNQMF
5JUBOJVN͘͘ձJO/*'5:ʘʘaaᵋ Тʯʗʗ͜ΕͰղܾͩʘʘaaᵋ Тʯʗʗ5JUBOJVN͘͘ձJO/*'5:͜ΕͰղܾͩ
éĕÕǤʌñʞìè5JUBOJVN͘͘ձJO/*'5:ͪΖΜɺ·ͩɺશ͕ͯղܾ͢ΔΘ͚Ͱͳ͍
5JUBOJVN͘͘ձJO/*'5:࣮ɺ·ͩ·ͩ"1*͕Γͯͳ͍“A complete list of implemented features isschedule for the next list version,which is planned for Release 3.2.0.”
5JUBOJVN͘͘ձJO/*'5:1SPQTFEJUJOHFEJUBCMFTFQBSBUPS$PMPS4UZMF&WFOUTESBHTUBSUESBHFOETDSPMMTDSPMMFOEIFBEFS7JFXGPPUFS7JFX EFMFUFNPWFʜ ʜ
5JUBOJVN5JUBOJVN͘͘ձJO/*'5:Β͍͠8BJUJOH
·ͱΊ5JUBOJVN͘͘ձJO/*'5:$PODMVTJPO
-JTU7JFX͍5JUBOJVN͘͘ձJO/*'5:5BCMF7JFXͷYY͙Β͍͍
ͪΐͬͱ͍͠5JUBOJVN͘͘ձJO/*'5:5BCMF7JFX΄Ͳͷॊೈੑແ͍
·్࣮ͩத5JUBOJVN͘͘ձJO/*'5:5JUBOJVNͰҰ௨Γͷ࣮͕ऴΘΔΒ͍͠
Ͱ͍5JUBOJVN͘͘ձJO/*'5:ෳࡶͳॲཧΛΘͳ͚Εेʹ͑Δ
ࢼ͢Ձ͋Γ5JUBOJVN͘͘ձJO/*'5:5BCMF7JFX͚͔ͩ͠Θͳ͍ͷମͳ͍
CODESTRONG !5JUBOJVN͘͘ձJO/*'5: