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

質問編集履歴

5

質問の説明の追加

2018/12/07 01:00

投稿

asdfhorse
asdfhorse

スコア17

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- 家計簿アプリを作成しています。家計簿アプリでは月ごとの収支を一覧表示させたいと考えています。家計簿の収支データはもちろん2018年の11月のデータもあれば2018年の12月のデータも格納されていると仮定します。DatePickerDialogで年月を選択し(2018/12と選択したとします)、OKと押したときに2018/12に該当するデータのみ一覧表示させたいと考えています。DatePickerDialogを使って検索値となる2018/12のデータは取ってこれるのですが、DatePickerDialogの処理を書く場所と書き方がよくわからず困っています。![イメージ説明](ca8b4a7bbadd4afce6cb6b16c19de4c2.png)
1
+ 家計簿アプリを作成しています。家計簿アプリでは月ごとの収支を一覧表示させたいと考えています。家計簿の収支データはもちろん2018年の11月のデータもあれば2018年の12月のデータも格納されていると仮定します。DatePickerDialogで年月を選択し(2018/12と選択したとします)、OKと押したときに2018/12で曖昧検索をし、2018年の12月のデータのみ一覧表示させたいと考えています。DatePickerDialogを使って検索値となる2018/12のデータは取ってこれるのですが、DatePickerDialogの処理を書く場所と書き方がよくわからず困っています。![イメージ説明](ca8b4a7bbadd4afce6cb6b16c19de4c2.png)
2
2
  どなたかご教授お願いします。
3
3
 
4
4
  ```kotlin

4

誤字

2018/12/07 01:00

投稿

asdfhorse
asdfhorse

スコア17

title CHANGED
File without changes
body CHANGED
@@ -2,7 +2,7 @@
2
2
  どなたかご教授お願いします。
3
3
 
4
4
  ```kotlin
5
- package com.example.tamayamaryo.recipebook_sotuken
5
+ package com.example.username.kakeibo
6
6
 
7
7
 
8
8
  import android.content.Intent
@@ -107,7 +107,7 @@
107
107
  }
108
108
  ```
109
109
  ```kotlin
110
- package com.example.tamayamaryo.recipebook_sotuken
110
+ package com.example.username.kakeibo
111
111
 
112
112
  import android.app.DatePickerDialog
113
113
  import android.app.Dialog

3

更新しました。

2018/12/07 00:47

投稿

asdfhorse
asdfhorse

スコア17

title CHANGED
File without changes
body CHANGED
@@ -1,29 +1,30 @@
1
1
  家計簿アプリを作成しています。家計簿アプリでは月ごとの収支を一覧表示させたいと考えています。家計簿の収支データはもちろん2018年の11月のデータもあれば2018年の12月のデータも格納されていると仮定します。DatePickerDialogで年月を選択し(2018/12と選択したとします)、OKと押したときに2018/12に該当するデータのみ一覧表示させたいと考えています。DatePickerDialogを使って検索値となる2018/12のデータは取ってこれるのですが、DatePickerDialogの処理を書く場所と書き方がよくわからず困っています。![イメージ説明](ca8b4a7bbadd4afce6cb6b16c19de4c2.png)
2
2
  どなたかご教授お願いします。
3
3
 
4
- ```kotlin
4
+ ```kotlin
5
- package com.example.username.kakeibo
5
+ package com.example.tamayamaryo.recipebook_sotuken
6
6
 
7
- import android.app.DatePickerDialog
7
+
8
8
  import android.content.Intent
9
9
  import android.os.Bundle
10
10
  import android.support.design.internal.BottomNavigationItemView
11
- import android.support.v4.app.DialogFragment
11
+ import android.support.v4.app.Fragment
12
12
  import android.support.v4.app.FragmentActivity
13
- import android.util.Log
14
13
  import android.view.View
15
14
  import android.widget.Button
16
- import android.widget.DatePicker
15
+ import android.widget.ImageButton
17
16
  import android.widget.ListView
17
+ import android.widget.TextView
18
18
  import io.realm.Realm
19
19
  import io.realm.RealmConfiguration
20
+ import io.realm.RealmResults
20
21
  import io.realm.kotlin.where
21
22
  import kotlinx.android.synthetic.main.activity_kakeibo.*
22
- import kotlinx.android.synthetic.main.testactivity.*
23
+ import kotlinx.android.synthetic.main.kakeibolist.*
23
24
  import java.util.*
24
25
 
25
26
 
26
- class kakeiboActivity : FragmentActivity(), DatePickerDialog.OnDateSetListener {
27
+ class kakeiboActivity : FragmentActivity(), DatePick.Callback {
27
28
  private lateinit var realm: Realm
28
29
  private fun initRealm() {
29
30
  val realmConfiguration = RealmConfiguration.Builder()
@@ -40,6 +41,8 @@
40
41
  setContentView(R.layout.activity_kakeibo)
41
42
 
42
43
  val config = RealmConfiguration.Builder().deleteRealmIfMigrationNeeded().build()
44
+ val test_navi = findViewById<Button>(R.id.insert_button)
45
+ val reload = findViewById<ImageButton>(R.id.reload_button)
43
46
 
44
47
  Realm.setDefaultConfiguration(config)
45
48
 
@@ -49,7 +52,6 @@
49
52
  var listView: ListView
50
53
 
51
54
 
52
- val test_navi= findViewById<Button>(R.id.insert_button)
53
55
  insert_button.setOnClickListener {
54
56
  val intent = Intent(application, Kakeibo_AddActivity::class.java)
55
57
  startActivity(intent)
@@ -77,56 +79,64 @@
77
79
  }
78
80
 
79
81
  listView = findViewById(R.id.kakeibolist)
82
+
80
83
  val Kakeibo = realm.where<Kakeibo>().findAll()
81
84
  listView?.adapter = KakeiboAdapter(Kakeibo)
85
+
86
+
87
+
82
88
  }
83
89
  override fun onDestroy() {
84
90
  super.onDestroy()
85
91
  realm.close()
86
92
  }
87
- override fun onDateSet(view: DatePicker, year: Int, monthOfYear: Int, dayOfMonth: Int) {
93
+ override fun onDatePicked(year: Int,monthOfYear: Int, dayOfMonth: Int) {
88
- val str = String.format(Locale.US, "%d/%d", year, monthOfYear+1, dayOfMonth)
94
+ val str = String.format(Locale.US, "%d/%d", year, monthOfYear+1 , dayOfMonth)
89
95
  calendar.text = str
90
-
91
96
  }
92
-
97
+ override fun onAttachFragment(fragment : Fragment) {
98
+ if(fragment is DatePick) {
99
+ fragment.callback = this
100
+ }
101
+ }
93
- fun showDatePickerDialog1(view: View) {
102
+ fun showDatePickerDialog(view: View) {
94
- val newFragment = DatePickk()
103
+ val newFragment = DatePick()
95
104
  newFragment.show(supportFragmentManager, "datePicker")
105
+ }
96
106
 
97
- }
98
-
99
107
  }
100
108
  ```
101
109
  ```kotlin
102
- package com.example.username.kakeibo
110
+ package com.example.tamayamaryo.recipebook_sotuken
103
111
 
104
112
  import android.app.DatePickerDialog
105
113
  import android.app.Dialog
106
114
  import android.os.Bundle
107
115
  import android.support.v4.app.DialogFragment
116
+ import android.widget.DatePicker
108
117
  import java.util.*
109
118
 
110
- class DatePickk : DialogFragment(),DatePickerDialog.OnDateSetListener {
119
+ class DatePick : DialogFragment(),DatePickerDialog.OnDateSetListener {
120
+ var callback : Callback? = null
121
+
111
122
  override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
112
123
  val c = Calendar.getInstance()
113
124
  val year = c.get(Calendar.YEAR)
114
125
  val month = c.get(Calendar.MONTH)
115
126
  val day = c.get(Calendar.DAY_OF_MONTH)
116
127
 
117
- return DatePickerDialog(
128
+ return DatePickerDialog(activity,this, year,month,day)
118
- activity,
119
- activity as kakeiboActivity?,
120
- year,
121
- month,
122
- day)
123
129
  }
124
- override fun onDateSet(view: android.widget.DatePicker, year: Int,
130
+ override fun onDateSet(view: DatePicker, year: Int,month: Int, dayOfMonth: Int) {
125
- monthOfYear: Int, dayOfMonth: Int) {
131
+ callback?.onDatePicked(year , month , dayOfMonth)
126
132
  }
133
+ interface Callback {
134
+ fun onDatePicked(year : Int , monthOfYear: Int , dayOfMonth: Int)
135
+ }
127
136
  }
128
137
  ```
129
138
 
139
+
130
140
  ```xml
131
141
  <?xml version="1.0" encoding="utf-8"?>
132
142
  <android.support.constraint.ConstraintLayout

2

追記しました

2018/12/07 00:46

投稿

asdfhorse
asdfhorse

スコア17

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,4 @@
1
- 家計簿アプリを作成しています。家計簿アプリでは月ごとの収支を一覧表示させたいと考えています。
2
- 例えばDatePickerDialogで選択された2018/12の収支データだけ取ってくるような機能で考えています。DatePickerDialogを使って検索値になる2018/12のデータは取ってこれるのですが、DatePickerDialogのPositiveButtonの処理を書く場所と書き方がよくわからず困っています。
1
+ 家計簿アプリを作成しています。家計簿アプリでは月ごとの収支を一覧表示させたいと考えています。家計簿の収支データはもちろん2018年の11月のデータもあれば2018年の12月のデータも格納されていると仮定します。DatePickerDialogで年月を選択し(2018/12と選択したとします)、OKと押したときに2018/12に該当するデータのみ一覧表示させたいと考えています。DatePickerDialogを使って検索値となる2018/12のデータは取ってこれるのですが、DatePickerDialogの処理を書く場所と書き方がよくわからず困っています。![イメージ説明](ca8b4a7bbadd4afce6cb6b16c19de4c2.png)
3
2
  どなたかご教授お願いします。
4
3
 
5
4
  ```kotlin

1

誤字

2018/12/05 03:20

投稿

asdfhorse
asdfhorse

スコア17

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
1
  家計簿アプリを作成しています。家計簿アプリでは月ごとの収支を一覧表示させたいと考えています。
2
- 例えばDatePickerDialogで選択された2018/12の収支データだけ取ってくるような機能で考えています。DatePickerDialogを使って検索値になる2018/12のデータは取ってこれるのですが、DatePickerDialogのPositiveButtonの処理を書き方と書く場所がよくわからず困っています。
2
+ 例えばDatePickerDialogで選択された2018/12の収支データだけ取ってくるような機能で考えています。DatePickerDialogを使って検索値になる2018/12のデータは取ってこれるのですが、DatePickerDialogのPositiveButtonの処理を書く場所と書き方がよくわからず困っています。
3
3
  どなたかご教授お願いします。
4
4
 
5
5
  ```kotlin