質問編集履歴

2

更新しました。

2018/11/26 01:39

投稿

asdfhorse
asdfhorse

スコア17

test CHANGED
File without changes
test CHANGED
@@ -156,7 +156,7 @@
156
156
 
157
157
  ```Kotlin
158
158
 
159
- package com.example.syouziaitomonori.kakeiboapplication
159
+ package com.example.user.kakeiboapplication
160
160
 
161
161
 
162
162
 
@@ -168,122 +168,142 @@
168
168
 
169
169
  import android.widget.ImageView
170
170
 
171
+ import android.widget.ListView
172
+
171
173
  import android.widget.TextView
172
174
 
173
175
  import io.realm.OrderedRealmCollection
174
176
 
177
+ import io.realm.Realm
178
+
175
179
  import io.realm.RealmBaseAdapter
176
180
 
177
-
178
-
179
- class KakeiboAdapter (data: OrderedRealmCollection<Kakeibo>?)
180
-
181
- : RealmBaseAdapter<Kakeibo>(data) {
182
-
183
-
184
-
185
-
186
-
187
- inner class ViewHolder(cell: View) {
188
-
189
- var kakeiboDate = cell.findViewById<TextView>(R.id.item_date)
190
-
191
- var kakeiboMoney = cell.findViewById<TextView>(R.id.item_money)
192
-
193
- var kakeiboShushi = cell.findViewById<TextView>(R.id.item_shushi)
194
-
195
- var kakeiboGenre = cell.findViewById<TextView>(R.id.item_genre)
196
-
197
- var deleteicon : ImageView = cell.findViewById(R.id.delete_button)
198
-
199
- }
200
-
201
-
202
-
203
- override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {
204
-
205
- val view: View
206
-
207
- var viewHolder: ViewHolder? = null
208
-
209
-
210
-
211
-
212
-
213
- when (convertView) {
214
-
215
- null -> {
216
-
217
- val inflater = LayoutInflater.from(parent?.context)
218
-
219
- view = inflater.inflate(R.layout.kakeibolist, parent, false)
220
-
221
- viewHolder = ViewHolder(view)
222
-
223
- view.tag = viewHolder
181
+ import io.realm.RealmConfiguration
182
+
183
+
184
+
185
+ open class KakeiboAdapter (data: OrderedRealmCollection<Kakeibo>?) : RealmBaseAdapter<Kakeibo>(data) {
186
+
187
+ private lateinit var mRealm: Realm
188
+
189
+
190
+
191
+
192
+
193
+ inner class ViewHolder(cell: View) {
194
+
195
+ var kakeiboDate = cell.findViewById<TextView>(R.id.item_date)
196
+
197
+ var kakeiboMoney = cell.findViewById<TextView>(R.id.item_money)
198
+
199
+ var kakeiboShushi = cell.findViewById<TextView>(R.id.item_shushi)
200
+
201
+ var kakeiboGenre = cell.findViewById<TextView>(R.id.item_genre)
202
+
203
+ var deleteicon: ImageView = cell.findViewById(R.id.delete_button)
204
+
205
+ }
206
+
207
+
208
+
209
+ override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {
210
+
211
+
212
+
213
+ val view: View
214
+
215
+ var viewHolder: ViewHolder? = null
216
+
217
+ mRealm = Realm.getDefaultInstance()
218
+
219
+
220
+
221
+
222
+
223
+ when (convertView) {
224
+
225
+ null -> {
226
+
227
+ val inflater = LayoutInflater.from(parent?.context)
228
+
229
+ view = inflater.inflate(R.layout.kakeibolist, parent, false)
230
+
231
+ viewHolder = ViewHolder(view)
232
+
233
+ view.tag = viewHolder
234
+
235
+ }
236
+
237
+ else -> {
238
+
239
+ view = convertView
240
+
241
+ viewHolder = view.tag as ViewHolder
242
+
243
+ }
244
+
245
+ }
246
+
247
+
248
+
249
+ adapterData?.run {
250
+
251
+ val Kakeibo = get(position)
252
+
253
+ viewHolder.kakeiboDate.text = Kakeibo.date
254
+
255
+ viewHolder.kakeiboMoney.text = Kakeibo.money.toString()
256
+
257
+ viewHolder.kakeiboShushi.text = Kakeibo.shushi
258
+
259
+ viewHolder.kakeiboGenre.text = Kakeibo.genre
260
+
261
+ // viewHolder.recipeImage.setImageBitmap(Recipe.recipeImage)
262
+
263
+ viewHolder.kakeiboDate.setPadding(0, 50, 0, 0)
264
+
265
+ viewHolder.kakeiboMoney.setPadding(500, 100, 0, 0)
266
+
267
+ viewHolder.kakeiboShushi.setPadding(500, 30, 0, 0)
268
+
269
+ viewHolder.kakeiboGenre.setPadding(800, 50, 0, 0)
270
+
271
+
272
+
273
+ val listItem = getItem(position)
274
+
275
+ viewHolder.kakeiboDate.text = listItem!!.date
276
+
277
+ viewHolder.kakeiboShushi.text = listItem.shushi
278
+
279
+ viewHolder.kakeiboMoney.text = listItem.money.toString()
280
+
281
+ viewHolder.kakeiboGenre.text = listItem.genre
282
+
283
+ mRealm.beginTransaction()
284
+
285
+ viewHolder.deleteicon.setOnClickListener(){
286
+
287
+ var key = mRealm.where(Kakeibo::class.java)
288
+
289
+ .equalTo("shushiId", listItem?.shushiId).findAll()
290
+
291
+ mRealm.executeTransaction {
292
+
293
+ key.deleteAllFromRealm()
294
+
295
+ notifyDataSetChanged()
224
296
 
225
297
  }
226
298
 
227
- else -> {
228
-
229
- view = convertView
230
-
231
- viewHolder = view.tag as ViewHolder
232
-
233
- }
234
-
235
299
  }
236
300
 
237
-
238
-
239
- adapterData?.run {
240
-
241
- val Kakeibo = get(position)
301
+ mRealm.commitTransaction()
242
-
243
- viewHolder.kakeiboDate.text = Kakeibo.date
244
-
245
- viewHolder.kakeiboMoney.text = Kakeibo.money.toString()
246
-
247
- viewHolder.kakeiboShushi.text = Kakeibo.shushi
248
-
249
- viewHolder.kakeiboGenre.text = Kakeibo.genre
250
-
251
- // viewHolder.recipeImage.setImageBitmap(Recipe.recipeImage)
252
-
253
- viewHolder.kakeiboDate.setPadding(0, 50, 0, 0)
254
-
255
- viewHolder.kakeiboMoney.setPadding(500, 100, 0, 0)
256
-
257
- viewHolder.kakeiboShushi.setPadding(500, 30, 0, 0)
258
-
259
- viewHolder.kakeiboGenre.setPadding(800, 50, 0, 0)
260
-
261
-
262
-
263
- val listItem = getItem(position)
264
-
265
- viewHolder.kakeiboDate.text = listItem!!.date
266
-
267
- viewHolder.kakeiboShushi.text = listItem.shushi
268
-
269
- viewHolder.kakeiboMoney.text = listItem.money.toString()
270
-
271
- viewHolder.kakeiboGenre.text = listItem.genre
272
-
273
- viewHolder.deleteicon.setOnClickListener { _ ->
274
-
275
- // 削除ボタンをタップしたときの処理
276
-
277
- this.remove(listItem)
278
-
279
- notifyDataSetChanged()
280
-
281
- }
282
-
283
- return view!!
284
302
 
285
303
  }
286
304
 
305
+ return view!!
306
+
287
307
  }
288
308
 
289
309
  }

1

KakeiboAdapterを変更を追加しました。

2018/11/26 01:39

投稿

asdfhorse
asdfhorse

スコア17

test CHANGED
File without changes
test CHANGED
@@ -154,4 +154,140 @@
154
154
 
155
155
  ```
156
156
 
157
+ ```Kotlin
158
+
159
+ package com.example.syouziaitomonori.kakeiboapplication
160
+
161
+
162
+
163
+ import android.view.LayoutInflater
164
+
165
+ import android.view.View
166
+
167
+ import android.view.ViewGroup
168
+
169
+ import android.widget.ImageView
170
+
171
+ import android.widget.TextView
172
+
173
+ import io.realm.OrderedRealmCollection
174
+
175
+ import io.realm.RealmBaseAdapter
176
+
177
+
178
+
179
+ class KakeiboAdapter (data: OrderedRealmCollection<Kakeibo>?)
180
+
181
+ : RealmBaseAdapter<Kakeibo>(data) {
182
+
183
+
184
+
185
+
186
+
187
+ inner class ViewHolder(cell: View) {
188
+
189
+ var kakeiboDate = cell.findViewById<TextView>(R.id.item_date)
190
+
191
+ var kakeiboMoney = cell.findViewById<TextView>(R.id.item_money)
192
+
193
+ var kakeiboShushi = cell.findViewById<TextView>(R.id.item_shushi)
194
+
195
+ var kakeiboGenre = cell.findViewById<TextView>(R.id.item_genre)
196
+
197
+ var deleteicon : ImageView = cell.findViewById(R.id.delete_button)
198
+
199
+ }
200
+
201
+
202
+
203
+ override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {
204
+
205
+ val view: View
206
+
207
+ var viewHolder: ViewHolder? = null
208
+
209
+
210
+
211
+
212
+
213
+ when (convertView) {
214
+
215
+ null -> {
216
+
217
+ val inflater = LayoutInflater.from(parent?.context)
218
+
219
+ view = inflater.inflate(R.layout.kakeibolist, parent, false)
220
+
221
+ viewHolder = ViewHolder(view)
222
+
223
+ view.tag = viewHolder
224
+
225
+ }
226
+
227
+ else -> {
228
+
229
+ view = convertView
230
+
231
+ viewHolder = view.tag as ViewHolder
232
+
233
+ }
234
+
235
+ }
236
+
237
+
238
+
239
+ adapterData?.run {
240
+
241
+ val Kakeibo = get(position)
242
+
243
+ viewHolder.kakeiboDate.text = Kakeibo.date
244
+
245
+ viewHolder.kakeiboMoney.text = Kakeibo.money.toString()
246
+
247
+ viewHolder.kakeiboShushi.text = Kakeibo.shushi
248
+
249
+ viewHolder.kakeiboGenre.text = Kakeibo.genre
250
+
251
+ // viewHolder.recipeImage.setImageBitmap(Recipe.recipeImage)
252
+
253
+ viewHolder.kakeiboDate.setPadding(0, 50, 0, 0)
254
+
255
+ viewHolder.kakeiboMoney.setPadding(500, 100, 0, 0)
256
+
257
+ viewHolder.kakeiboShushi.setPadding(500, 30, 0, 0)
258
+
259
+ viewHolder.kakeiboGenre.setPadding(800, 50, 0, 0)
260
+
261
+
262
+
263
+ val listItem = getItem(position)
264
+
265
+ viewHolder.kakeiboDate.text = listItem!!.date
266
+
267
+ viewHolder.kakeiboShushi.text = listItem.shushi
268
+
269
+ viewHolder.kakeiboMoney.text = listItem.money.toString()
270
+
271
+ viewHolder.kakeiboGenre.text = listItem.genre
272
+
273
+ viewHolder.deleteicon.setOnClickListener { _ ->
274
+
275
+ // 削除ボタンをタップしたときの処理
276
+
277
+ this.remove(listItem)
278
+
279
+ notifyDataSetChanged()
280
+
281
+ }
282
+
283
+ return view!!
284
+
285
+ }
286
+
287
+ }
288
+
289
+ }
290
+
291
+ ```
292
+
157
293
  ![![イメージ説明](fbc84fc4a78359860dba21c843f4fdfb.png)](04a298ca0dd1e220c8e0c04c6d46b76b.png)