Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Encouragement of ListView
Search
Ryutaro Miyashita
July 14, 2013
Technology
3
3.2k
Encouragement of ListView
Introduction of Titanium 3.1 ListView
Ryutaro Miyashita
July 14, 2013
Tweet
Share
More Decks by Ryutaro Miyashita
See All by Ryutaro Miyashita
Java で書かれた Android アプリを Kotlin で書き直すまでの話 / Talk of rewrite Android app for Java to Kotlin
ryugoo
0
1.7k
開発 4 年目のアプリへの Kotlin 導入
ryugoo
0
410
チーム開発と Android アプリの構成
ryugoo
5
1.2k
開発 4 年目のアプリへの Kotlin 導入
ryugoo
1
2.6k
Either で想定内のエラーと想定外のエラーを別ものにしたい!
ryugoo
2
1.6k
全て S になる -RxJava と LWS を持ち込む楽しさ-
ryugoo
4
730
Transition at RxJava 1.x to 2.x
ryugoo
0
520
Kotlin さんと誕生日が近いだけの男の話
ryugoo
2
500
Android エンジニアになって 2 年の学び
ryugoo
1
2.6k
Other Decks in Technology
See All in Technology
Larkご案内資料
customercloud
PRO
0
650
The Future of SEO: The Impact of AI on Search
badams
0
190
Platform Engineeringは自由のめまい
nwiizo
4
2.1k
バックエンドエンジニアのためのフロントエンド入門 #devsumiC
panda_program
18
7.5k
RECRUIT TECH CONFERENCE 2025 プレイベント【高橋】
recruitengineers
PRO
0
160
ビジネスモデリング道場 目的と背景
masuda220
PRO
9
520
エンジニアが加速させるプロダクトディスカバリー 〜最速で価値ある機能を見つける方法〜 / product discovery accelerated by engineers
rince
4
320
エンジニアの育成を支える爆速フィードバック文化
sansantech
PRO
3
1.1k
目の前の仕事と向き合うことで成長できる - 仕事とスキルを広げる / Every little bit counts
soudai
24
7.1k
PHPカンファレンス名古屋-テックリードの経験から学んだ設計の教訓
hayatokudou
2
260
Goで作って学ぶWebSocket
ryuichi1208
0
180
ハッキングの世界に迫る~攻撃者の思考で考えるセキュリティ~
nomizone
13
5.2k
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
KATA
mclloyd
29
14k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Six Lessons from altMBA
skipperchong
27
3.6k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Producing Creativity
orderedlist
PRO
344
39k
Music & Morning Musume
bryan
46
6.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
550
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Transcript
5JUBOJVN͘͘ձJO/*'5: -JTU7JFXͷεεϝ 5BCMF7JFXͱҰମͳʹ͕ҟͳΔͷ͔
3ZVUBSP.JZBTIJUB $IBU8PSL.PCJMF"QQ&OHJOFFS 5JUBOJVN.PCJMFϢʔβʔձॻه SZVHPP@ SZVUBSPNJZBTIJUB SZVHPP
JNUIJOLFSOFU 5JUBOJVN͘͘ձJO/*'5:
5JUBOJVN͘͘ձJO/*'5: ࠓळɺϞόΠϧΞϓϦΛશ໘ϦχϡʔΞϧ 5JUBOJVN͘͘ձJO/*'5:
ύϑΥʔϚϯε 5JUBOJVN͘͘ձJO/*'5: 5JUBOJVNΞϓϦͰ·͞ΕΔ՝ͷͭ
5J6*5BCMF7JFX 5JUBOJVN͘͘ձJO/*'5: ΈΜͳେ͖͍ͬͺ͍͏
࣮ੑೳʷ 5JUBOJVN͘͘ձJO/*'5: ͔ͬͯΔͳ "OESPJEͳ
Ȓ 5JUBOJVN͘͘ձJO/*'5: ೦ɺզʑͷ5JUBOJVNऴΘͬͯ͠·ͬͨ
5JUBOJVN͘͘ձJO/*'5: ʘʘaaᵋ Т ʯʗʗ ͦΜͳ5JUBOJVNʹٹੈओ͕ ʘʘaaᵋ Т ʯʗʗ 5JUBOJVN͘͘ձJO/*'5: ͦΜͳ5JUBOJVNʹٹੈओ͕
5J6*-JTU7JFX 5JUBOJVN͘͘ձJO/*'5: 5JUBOJVNYʹݱΕͨ৽͍͠"1*
-JTU7JFXࢁͷSPXΛ࣋ͭ߹ੑೳ͕ྑ͍ 5JUBOJVN͘͘ձJO/*'5: “ListView is designed to perform better with 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Ͱදࣔ͢Δz 5BCMF7JFXͷΞϓϩʔν 5JUBOJVN͘͘ձJO/*'5:
l-BCFM*NBHF7JFXΛஔ͍ͨ 5BCMF7JFX3PXΛࢁ࡞ͬͯ 5BCMF7JFXͰදࣔ͢Δz 5BCMF7JFXͷΞϓϩʔν 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
reference var item = e.section.getItemAt(e.itemIndex); console.log(item.properties.itemId); // Replace clicked item e.section.UpdateItemAt(e.itemIndex, item); } ); -JTU7JFXͷΠϕϯτϋϯυϦϯά
-JTU7JFXͱ ܾΊͨͱ͓ΓͷܗͰσʔλΛදࣔͤ͞ΔͨΊͷͷ 5JUBOJVN͘͘ձJO/*'5:
ύϑΥʔϚϯε ͦΕͰɺ5BCMF7JFXΑΓੑೳྑ͍ͷ͔Ͷ 5JUBOJVN͘͘ձJO/*'5:
5JUBOJVN͘͘ձJO/*'5: 3PXT-JTU5BCMF 3PXΛ༻ҙ͢Δ࣌ؒಈ࡞ͷػහੑ .Z5BTL 3FOEFSJOHUJNFBU&QPDI NT *NBHF7JFX -BCFM -BCFM 5BCMF7JFX3PX
5JUBOJVN͘͘ձJO/*'5: )5$%FTJSF4 "OESPJE Y 4OBQESBHPO()[ .#3". (PPHMF/FYVT4 ˺
5JUBOJVN͘͘ձJO/*'5:
NT Y NT Y 1SFQBSF 1SFQBSF 5JUBOJVN͘͘ձJO/*'5:
5JUBOJVN͘͘ձJO/*'5: ੌ͍ 5JUBOJVN͘͘ձJO/*'5: ੌ͍ "OESPJEͰ͍ "OESPJEͰ͍
-JTU7JFX 5BCMF7JFX ˚ "OESPJE Y J1IPOF 4JNVMBUPS
Y J1IPOF Y ୯Ґ<NT> 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 is schedule
for the next list version, which is planned for Release 3.2.0.”
5JUBOJVN͘͘ձJO/*'5: 1SPQT FEJUJOHFEJUBCMF TFQBSBUPS$PMPS4UZMF &WFOUT ESBHTUBSUESBHFOE TDSPMMTDSPMMFOE IFBEFS7JFXGPPUFS7JFX EFMFUFNPWF ʜ
ʜ
5JUBOJVN 5JUBOJVN͘͘ձ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: