【发布时间】:2019-05-04 00:00:33
【问题描述】:
我正在尝试一些事情,但偶然发现了一个问题,即我无法从类 MyAsyncTask 访问全局变量 str1。我猜,它一定是一些声明错误,但我不太确定违反了什么。
class MainActivity : AppCompatActivity() {
var str1 = "0"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
for (i in 0..5){
val myAsyncTask = MyAsyncTask(this@MainActivity)
myAsyncTask.execute("-")
str1 = str1 + "1"
}
}
class MyAsyncTask(private var c : Context):AsyncTask<String,Void,String>(){
override fun doInBackground(vararg str: String?): String {
str1 = str1 + str[0] + "2" // str1 is bolded in red, somehow, i cant access it
return str1
}
override fun onPostExecute(result: String?) {
super.onPostExecute(result)
Toast.makeText(c, result, Toast.LENGTH_SHORT).show()
}
}
}
【问题讨论】:
标签: android kotlin android-asynctask