私はAndroidでいくつかのアプリケーションを開発するためにKotlinを使っていましたが、現在、設定メソッドを呼び出さずに定義クラス内にフィールド値を設定します。ここでsetメソッドを呼び出さないフィールドの値を設定する - Kotlin
は私のクラス内のコードです:
var projectList: List<Project>? = null
set(value) {
saveProjects(value as ArrayList<Project>)
field = value
}
//GO to the database and retrieve list of projects
fun loadProjects(callback: Project.OnProjectsLoadedListener) {
database.projectDao().getAll().subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
.subscribe(
{ success ->
callback.onProjectsLoaded(success)
//Here i don't want to save the projects, because i've loaded them from the database
this.projectList = success
},
{ error -> GenericErrorHandler.handleError(error,callback.retrieveContext())}
)
}
誰でもset(value)
メソッドを呼び出すことなく、これを行う方法を知っていますか?
コンストラクタを使用しますか? – Zoe
@Zoeここでどのように適用できるかわかりません。説明するケア? – Pavle37
setメソッドを使用せずに値を設定したい場合や、変数を直接呼び出す場合(ゲッターとセッターを多かれ少なかれ同じように使用する場合)は、オブジェクトを作成するときに唯一のオプションです。したがって、コンストラクタ – Zoe