在CustomView中扩展ArrayAdapter时,将Kotlin转换为Java

时间:2019-06-09 01:04:33

标签: java android kotlin

我在Kotlin中学习了一些代码,并希望将其翻译成Java。在Kotlin中,创建CustomView时,我看到它们直接将ArrayList参数传递给类并扩展ArrayAdapter,如下所示:

class PostClass (private val userEmail: ArrayList<String>,
                 private val userImage: ArrayList<String>,
                 private val userComment: ArrayList<String>,
                 private val context: Activity) : ArrayAdapter<String>(context, R.layout.custom_view, userEmail)
{ //Do something }

我也尝试转换为Java:

class PostClass(ArrayList<String> userEmail, 
ArrayList<String> userImage, 
ArrayList<String> userComment, Activity context) 
extends ArrayAdapter<String> (context, R.layout.custom_view, userEmail) 
{ //Do something }

但是,它显示了很多错误。因此,有人可以帮助我正确转换吗?谢谢。

2 个答案:

答案 0 :(得分:1)

在Java中,您不应在类声明中定义构造函数。相反,您应该使用类定义创建下面定义的构造函数。

public class PostClass extends ArrayAdapter<String> {

        public PostClass(ArrayList<String> userEmail,
                  ArrayList<String> userImage,
                  ArrayList<String> userComment,
                  Activity context) {
            super(context, R.layout.custom_view, userEmail);
        }
}

希望对您有帮助。

答案 1 :(得分:0)

class更改为public class。您遇到哪些错误,请告诉我们。 希望这种方法对您有所帮助。 How to convert a kotlin source file to a java source file