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

質問編集履歴

4

情報の修正

2019/10/05 06:55

投稿

takepon0209
takepon0209

スコア34

title CHANGED
File without changes
body CHANGED
@@ -99,7 +99,7 @@
99
99
 
100
100
  class AsyncTaskClass : AsyncTask<Void, Void, String>() {
101
101
 
102
- private var callbacktask: CallBackTask? = null
102
+ var callbacktask: CallBackTask? = null
103
103
 
104
104
  override fun onPreExecute() {
105
105
  super.onPreExecute()
@@ -125,7 +125,7 @@
125
125
  /**
126
126
  * コールバック用のstaticなclass
127
127
  */
128
- inner class CallBackTask {
128
+ open inner class CallBackTask {
129
129
  open fun CallBack(result: String) {}
130
130
  }
131
131
 
@@ -136,10 +136,7 @@
136
136
 
137
137
  エラーですが、「object : AsyncTaskClass.CallBackTask()」の部分で
138
138
  下記が表示されます。
139
- > Type mismatch.
140
- Required:
141
- TestActivity.AsyncTaskClass.CallBackTask
139
+ > Unresolved reference: CallBackTask
142
- Found:
143
140
 
144
141
 
145
142
  引用元
@@ -148,4 +145,4 @@
148
145
 
149
146
  よろしくお願いします。
150
147
 
151
- ![イメージ説明](af318bd850a9da456d9822287ae16708.jpeg)
148
+ ![イメージ説明](66e17cb008d7e68f90a42d118cc1e6fa.jpeg)

3

情報の追記

2019/10/05 06:54

投稿

takepon0209
takepon0209

スコア34

title CHANGED
File without changes
body CHANGED
@@ -143,6 +143,9 @@
143
143
 
144
144
 
145
145
  引用元
146
- https://qiita.com/a_nishimura/items/1548e02b96bebd0d43e4
146
+ [https://qiita.com/a_nishimura/items/1548e02b96bebd0d43e4
147
+ ](https://qiita.com/a_nishimura/items/1548e02b96bebd0d43e4)
147
148
 
148
- よろしくお願いします。
149
+ よろしくお願いします。
150
+
151
+ ![イメージ説明](af318bd850a9da456d9822287ae16708.jpeg)

2

情報の追記

2019/10/05 06:49

投稿

takepon0209
takepon0209

スコア34

title CHANGED
File without changes
body CHANGED
@@ -72,6 +72,76 @@
72
72
  }
73
73
  ```
74
74
 
75
+ kotlinに直したコードが下記になります。
76
+ ```kotlin
77
+ class MainActivity : Activity() {
78
+
79
+ override fun onCreate(savedInstanceState: Bundle?) {
80
+ super.onCreate(savedInstanceState)
81
+ setContentView(R.layout.activity_main)
82
+
83
+ val atClass = AsyncTaskClass()
84
+ atClass.setOnCallBack(object : AsyncTaskClass.CallBackTask() {
85
+
86
+ override fun CallBack(result: String) {
87
+ super.CallBack(result)
88
+ // ※1
89
+ // resultにはdoInBackgroundの返り値が入ります。
90
+ // ここからAsyncTask処理後の処理を記述します。
91
+ Log.i("AsyncTaskCallback", "非同期処理が終了しました。")
92
+ }
93
+
94
+ })
95
+
96
+ // AsyncTaskの実行
97
+ atClass.execute()
98
+ }
99
+
100
+ class AsyncTaskClass : AsyncTask<Void, Void, String>() {
101
+
102
+ private var callbacktask: CallBackTask? = null
103
+
104
+ override fun onPreExecute() {
105
+ super.onPreExecute()
106
+ }
107
+
108
+
109
+ override fun doInBackground(vararg params: Void): String? {
110
+ return null
111
+ }
112
+
113
+
114
+ override fun onPostExecute(result: String) {
115
+ super.onPostExecute(result)
116
+ callbacktask!!.CallBack(result)
117
+ }
118
+
119
+
120
+ fun setOnCallBack(_cbj: CallBackTask) {
121
+ callbacktask = _cbj
122
+ }
123
+
124
+
125
+ /**
126
+ * コールバック用のstaticなclass
127
+ */
128
+ inner class CallBackTask {
129
+ open fun CallBack(result: String) {}
130
+ }
131
+
132
+
133
+ }
134
+ }
135
+ ```
136
+
137
+ エラーですが、「object : AsyncTaskClass.CallBackTask()」の部分で
138
+ 下記が表示されます。
139
+ > Type mismatch.
140
+ Required:
141
+ TestActivity.AsyncTaskClass.CallBackTask
142
+ Found:
143
+
144
+
75
145
  引用元
76
146
  https://qiita.com/a_nishimura/items/1548e02b96bebd0d43e4
77
147
 

1

誤字

2019/10/05 06:45

投稿

takepon0209
takepon0209

スコア34

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- 下記、ansroidの非同期処理のソースコードですが、
1
+ 下記、androidの非同期処理のソースコードですが、
2
2
  kotlinに変換したらどのようになるでしょうか?
3
3
 
4
4
  自分でも試してみましたが、エラーが消えませんでした。