[英]Got Unresolved reference: setText when convert java to kotlin
我想使用Android Studio將android應用程序演示從java
轉換為kotlin
。 但是我遇到了一些錯誤。
一些Java代碼是:
public static class FileServerAsyncTask extends AsyncTask<Void, Void, String> {
private boolean isname=true;
private String name="啦啦啦";
private Context context;
private TextView statusText;
Handler myhandler=new Handler(){
@Override
public void handleMessage(Message msg) {
switch (msg.what){
case 10:
statusText.setText("XXXXX");
}
}
};
/**
* @param context
* @param statusText
*/
public FileServerAsyncTask(Context context, View statusText) {
this.context = context;
this.statusText = (TextView) statusText;
}
Studio將它們轉換為
class FileServerAsyncTask
/**
* @param context
* *
* @param statusText
*/
(private val context: Context, statusText: View) : AsyncTask<Void, Void, String>() {
private val isname = true
private var name = "啦啦啦"
private var statusText: TextView
init {
this.statusText = statusText as TextView
}
internal var myhandler = object : Handler() {
override fun handleMessage(msg: Message) {
when (msg.what) {
10 -> statusText.setText("XXXXX")
else -> {
}
}
}
}
但是在10 -> statusText.setText("XXXXX")
處出現錯誤
我將其更改為10 -> statusText.text = "XXXX"
,但錯誤仍然存在。 但是,在同一文件中的其他句子也可以。
怎么了?
(private val context: Context, statusText: TextView) : AsyncTask<Void, Void, String>() {
private val isname = true
private val name = "啦啦啦"
private val statusText: TextView
internal var myhandler: Handler = object : Handler() {
override fun handleMessage(msg: Message) {
when (msg.what) {
10 -> statusText.text = "XXXXXX"
}
}
}
init {
this.statusText = statusText as TextView
}
override fun doInBackground(vararg params: Void): String? {
return null
}
}
問題在於構造函數將視圖更改為textview。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.