Я задаю этот вопрос, потому что у меня много подобных случаев, и я пока не могу найти решение.
Для проекта Android я использую методы получения и установки класса Java Model внутри своей Activity в Java, как это -
Model model = new Model();
model.setName("sonething");
Toast.makeText(this, model.getName(), Toast.LENGTH_SHORT).show();
Проблема в том, что когда я изменяю свой класс Model на Kotlin, я не получаю такие методы получения и установки внутри Java Activity, и я могу получить доступ к переменной поля класса модели только с помощью имени переменной.
Но я не хочу ничего менять в приведенном выше коде действия, потому что у меня много таких действий. Как этого добиться, внеся изменения в класс модели Kotlin?
Класс моей модели в Котлине выглядит так -
class Model {
var name : String? = null
// set a value for name from Activity using the setter
}
Я думаю, что вы можете использовать apply, let, run и т.д., Чтобы достичь того, чего вы пытаетесь достичь. Чтобы понять разницу, вот полезные записи в блоге
Например:
val model = Model().apply{ name = "aveek"}
Toast.makeText(this, model.name, Toast.LENGTH_SHORT).show()