回答編集履歴

3

記述ミスの修正

2018/11/01 16:14

投稿

shal0ne
shal0ne

スコア51

test CHANGED
@@ -208,9 +208,25 @@
208
208
 
209
209
  //MainActivityのメンバとして追加
210
210
 
211
+ lateinit var arrayAdapter:MyArrayAdapter
212
+
213
+
214
+
215
+ override fun onCreate(savedInstanceState: Bundle?) {
216
+
217
+ super.onCreate(savedInstanceState)
218
+
219
+ setContentView(R.layout.activity_main)
220
+
221
+
222
+
223
+ //ここで初期化
224
+
211
- val arrayAdapter=MyArrayAdapter(this, 0)
225
+ arrayAdapter=MyArrayAdapter(this, 0)
226
+
212
-
227
+ ...
228
+
213
-
229
+ }
214
230
 
215
231
  override fun onSelected(year: Int, month: Int, date: Int) {
216
232
 

2

回答の追記

2018/11/01 16:14

投稿

shal0ne
shal0ne

スコア51

test CHANGED
@@ -6,6 +6,8 @@
6
6
 
7
7
  ```kotlin
8
8
 
9
+
10
+
9
11
  override fun onSelected(year: Int, month: Int, date: Int) {
10
12
 
11
13
  val c = Calendar.getInstance()
@@ -189,3 +191,63 @@
189
191
  という処理の流れになると思うのでうまくいくと思います。
190
192
 
191
193
  色々間違っているところもあると思いますが、参考までに。
194
+
195
+
196
+
197
+ ###11/1追記
198
+
199
+ 上記の書き方だとadapterが初期化されてしまっていそうなので、応急手当として次のことをしてもらえればいいと思います。
200
+
201
+
202
+
203
+ ```kotlin
204
+
205
+ class MainActivity : AppCompatActivity() ,DatePickerFragment.OnDateSelectedListener {
206
+
207
+
208
+
209
+ //MainActivityのメンバとして追加
210
+
211
+ val arrayAdapter=MyArrayAdapter(this, 0)
212
+
213
+
214
+
215
+ override fun onSelected(year: Int, month: Int, date: Int) {
216
+
217
+ val c = Calendar.getInstance()
218
+
219
+ c.set(year, month, date)
220
+
221
+ val str=DateFormat.format("MM/dd", c) as String
222
+
223
+
224
+
225
+ //メンバにMyArrayAdapterを保持しているので、その中にListItemを付け足す処理を書く
226
+
227
+ arrayAdapter.apply{
228
+
229
+ add(ListItem((str)))
230
+
231
+ }
232
+
233
+ //消す
234
+
235
+ /*val arrayAdapter = MyArrayAdapter(this, 0).apply{
236
+
237
+ add(ListItem(str))
238
+
239
+ }*/
240
+
241
+ val listView: ListView = findViewById(R.id.listView)
242
+
243
+ listView.adapter = arrayAdapter
244
+
245
+ }
246
+
247
+
248
+
249
+ ...
250
+
251
+ }
252
+
253
+ ```

1

書式の修正

2018/11/01 09:21

投稿

shal0ne
shal0ne

スコア51

test CHANGED
@@ -46,25 +46,31 @@
46
46
 
47
47
 
48
48
 
49
- val arrayAdapter = MyArrayAdapter(this, 0).apply{
49
+ floatingActionButton.setOnClickListener {
50
50
 
51
- floatingActionButton.setOnClickListener {
52
51
 
53
- val dialog = DatePickerFragment()
54
52
 
53
+ //初期のリスト項目を設定
54
+
55
- dialog.show(supportFragmentManager, "date_dialog")
55
+ val arrayAdapter = MyArrayAdapter(this, 0).apply{
56
56
 
57
57
  add(ListItem(""))
58
58
 
59
59
  }
60
60
 
61
- }
61
+ //ListViewにリスト項目とArrayAdapterを設定
62
62
 
63
- val listView: ListView = findViewById(R.id.listView)
63
+ val listView: ListView = findViewById(R.id.listView)
64
64
 
65
- listView.adapter = arrayAdapter
65
+ listView.adapter = arrayAdapter
66
66
 
67
67
 
68
+
69
+ val dialog = DatePickerFragment()
70
+
71
+ dialog.show(supportFragmentManager, "date_dialog")
72
+
73
+ }
68
74
 
69
75
  }
70
76