teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

Map がまだ残ってた…List です。

2018/04/27 16:29

投稿

toydev
toydev

スコア297

answer CHANGED
@@ -20,5 +20,5 @@
20
20
 
21
21
  - List<String> 型のデータを持つ ViewModel を作る。
22
22
  - 以上の ViewModel のデータを ListView にバインドして表示する(Adapter 経由のバインディングになると思う)。
23
- - ViewModel に List<String> のデータを書き換える目的のメソッドを作る(Map 型の操作を書くくのはとても簡単でしょう?)。
23
+ - ViewModel に List<String> のデータを書き換える目的のメソッドを作る(List 型の操作を書くくのはとても簡単でしょう?)。
24
24
  - 以上のメソッドを Button のイベントにバインドする。

2

Button にも情報設定できるってことも書いておく。アイデアが広がるはず。

2018/04/27 16:28

投稿

toydev
toydev

スコア297

answer CHANGED
@@ -5,6 +5,7 @@
5
5
  setTag / getTag メソッドで情報の設定と取得ができます。これで TextView に印をつけます。
6
6
  LinearLayout の要素をぐるぐる回し(getChildCount() と getChildAt() を使ってできると思う。たぶん。)、目的の Tag を持った TextView を探せるはずです。
7
7
  探せれば設定するのは簡単ですね。
8
+ ちなみに Button にも設定できるので、どの TextView を操作する Button なのかといった制御にも使えると思います。onClick の View 引数経由で取得できるでしょう。
8
9
 
9
10
  ### 中級者以上向けのやり方
10
11
  View を直接操作して値を書き換えようとするのは大変です。

1

Map って書いたけど普通に List でいいわw

2018/04/27 16:26

投稿

toydev
toydev

スコア297

answer CHANGED
@@ -17,7 +17,7 @@
17
17
 
18
18
  データバインディングを使ってどんな感じに作るかポイントを以下に列挙します。
19
19
 
20
- - Map<int, String> 型のデータを持つ ViewModel を作る。
20
+ - List<String> 型のデータを持つ ViewModel を作る。
21
21
  - 以上の ViewModel のデータを ListView にバインドして表示する(Adapter 経由のバインディングになると思う)。
22
- - ViewModel に Map<int, String> のデータを書き換える目的のメソッドを作る(Map 型の操作を書くくのはとても簡単でしょう?)。
22
+ - ViewModel に List<String> のデータを書き換える目的のメソッドを作る(Map 型の操作を書くくのはとても簡単でしょう?)。
23
23
  - 以上のメソッドを Button のイベントにバインドする。