Tag:

类构造函数和成员变量(字段)

我试图用构造函数声明类,但似乎与该语法冲突并声明类成员。 任何建议如何一起去? class Person (aName:String) { var name : String get() = this.name set(myName) {this.name = myName} init { this.name = aName } }

Kotlin:子类如何在超级构造函数调用中使用父级的扩展函数?

子类如何在lambda字段中使用其父类的扩展函数? 考虑这个父类: abstract class Parent(val field: Int.() -> Any) { fun Int.print() = println(this) } 而这个孩子: class Child : Parent({ print() // DOESN'T COMPILE this.print() // DOESN'T COMPILE 5.print() // DOESN'T COMPILE val value = 5 value.print() // DOESN'T COMPILE })

我无法从Kotlin的嵌套班上找到任何班级成员

我想从PersonAdapter类访问MainFragment类的成员,但没有一个可用。 我试图让班级和成员公共和私人也到目前为止没有任何工作。 我想我错过了一些明显的东西,但我无法弄清楚。 class MainFragment : Fragment() { lateinit var personAdapter: PersonAdapter lateinit var personListener: OnPersonSelected private var realm: Realm by Delegates.notNull() lateinit var realmListener: RealmChangeListener<Realm> override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { val v = inflater.inflate(R.layout.fragment_main, container, false) return v } class PersonAdapter() : RecyclerView.Adapter<ViewHolder>() { var localPersonList = personList override […]

在kotlin中创建新的泛型类实例的正确方法是什么?

我使用以下初始化: val entityClass = javaClass<Class<T>>() var entity = entityClass.newInstance().newInstance() 但它是错误的,并导致java.lang.Class.newInstance(Class.java:1208) IllegalAccessException

无法引用Kotlin中的子类

正如你在下面看到的,我无法引用我的CustomAdapter的内部类为我的应用程序BindItems 。 我不知道为什么它显示为红色,没有找到。 class MyCustomAdapter(context: Context,val theList: ArrayList<MyInfo>): RecyclerView.Adapter<ViewHolder>(){ override fun getItemCount(): Int { return theList.size } override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { holder.bindItems(theList[position]) } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { val v = LayoutInflater.from(parent.context).inflate(R.layout.main_row, parent, false) return ViewHolder(v) } class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { fun bindItems(user: MyInfo) { val textViewName […]

为什么我们不能在kotlin中将类的可见性标记为“受保护”?

我是kotlin新手我最近在kotlin学习了继承,后来我意识到我们不能将一个类的可见性标记为“受保护的”。 纠正我,如果我错了,还有什么其他的方式来保护班?

Kotlin:我怎样才能让Android Studio在课堂底层实现界面的功能

在Kotlin类中实现接口时: 当我按下ClassName上的Alt + Enter时,我可以让IDE通过“实现成员”添加一个接口的函数。 在Kotlin中,这些功能被添加到课程的顶部,这实在令人烦恼。 我希望在课程结束时添加它们(就像在Java中一样)。 我怎样才能做到这一点?

无法从innerclass访问变量:Kotlin android

我是Android的Kotlin开发新手。 在这里我试图从它的内部类访问一个类中定义的变量,如下所示。 class MainActivity : AppCompatActivity() { var frags: MutableList<Fragment> = mutableListOf() //………….onCreate and other methods …. internal class CustAdapter(var arrayList: ArrayList<NavigationData>) : RecyclerView.Adapter<CustAdapter.MyViewHolder>() { override fun onBindViewHolder(holder: MyViewHolder?, position: Int) { holder!!.bindItems(arrayList[position]) } override fun getItemCount(): Int { return arrayList.size } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CustAdapter.MyViewHolder { val v = LayoutInflater.from(parent.context).inflate(R.layout.navigation_item, parent, […]

如何从java类中的kotlin类创建对象?

我创建了一个汽车的kotlin类,我想在java类中创建这个类的对象? 我怎么能这样做? 提前致谢

为什么Kotlin修饰符“打开”与“数据”不兼容?

我有一堂课 open data class Person(var name: String) 和另一类 data class Student(var reg: String) : Person("") 这给了我一个错误 错误:修饰符“打开”与“数据”不兼容 如果我从Person类删除数据的罚款。 为什么kotlin打开和数据不兼容?