質問編集履歴
4
情報の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -99,7 +99,7 @@
|
|
99
99
|
|
100
100
|
class AsyncTaskClass : AsyncTask<Void, Void, String>() {
|
101
101
|
|
102
|
-
|
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
|
-
|
139
|
+
> Unresolved reference: CallBackTask
|
142
|
-
Found:
|
143
140
|
|
144
141
|
|
145
142
|
引用元
|
@@ -148,4 +145,4 @@
|
|
148
145
|
|
149
146
|
よろしくお願いします。
|
150
147
|
|
151
|
-

|
3
情報の追記
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
|
+

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