回答編集履歴

1

微修正

2018/07/09 14:40

投稿

kakajika
kakajika

スコア3131

test CHANGED
@@ -1,8 +1,8 @@
1
- GridViewなどのAdapterをセットする形式のViewは画面内に表示できるだけの子Viewを持つようになっているため、子Viewを直接取得してデータを書き換えるのではなく、Adapterにデータの更新を伝えることで子Viewの更新を促すようにすべきです。
1
+ GridViewなどのAdapterをセットする形式のViewは画面内に表示できるだけの子Viewを持つようになっているため、子Viewを直接取得して表示を書き換えるのではなく、Adapterにデータの更新を伝えることで子Viewの更新を促すようにすべきです。
2
2
 
3
3
 
4
4
 
5
- ご質問のコードのCalendarAdapter内にある `positionView` のように、子Viewにアクセスするためのキャッシュを持っておくのはアンチパターンなので削除しましょう。その代わりに、tx_shiftに関連するデータをAdapterに持たせ、 `getView()` 内でViewの設定をすべて行うようにします。Activity側では、Adapter内のデータを変更して、変更を通知するために `notifyDataSetChanged()` を呼べばOKです。
5
+ ご質問のコードのCalendarAdapter内にある `positionView` のように、子Viewにアクセスするためのキャッシュを持っておくのはアンチパターンなので削除しましょう。その代わりに、tx_shiftに関連するデータをAdapterに持たせ、 `getView()` 内でViewの設定をすべて行うようにします。Activity側では、Adapter内のデータを変更して、変更を通知するために `notifyDataSetChanged()` を呼べばOKです。
6
6
 
7
7
 
8
8