くま's Tech系Blog

基本的には技術で学んだことを書き留めようと思います。雑談もやるかもね!

kotlinのフォルダ名について

小ネタです

val binding: ActivityTaskEditBinding = DataBindingUtil.setContentView(this, R.layout.activity_task_edit)
val editViewModel = ViewModelProviders.of(this).get(EditViewModel::class.java)
binding.editViewModel = editViewModel

上記ソースコードbinding.editViewModel = editViewModelで下記エラーが発生しました

Cannot access class 'ViewModel.EditViewModel'. Check your module classpath for missing or conflicting dependencies

なんだろうと思いながら、調べてみたら単純なミスでした・・

Java Naming Conventionsによるとフォルダ名はall-lowercase ASCII letters(全て小文字のASCII文字)にしないといけないようです

今回私はViewModelと言うフォルダ名にしていたので、エラーが発生していたようです

そこで、フォルダ名を'viewmodelに修正するとうまく動きました

Kotlinのコーディング規約には載ってなかったみたいでしたが、載せて欲しいですね(見落としている可能性はあるので、そのときはコメントください!!)

ドキュメントは普段からチェックするべきですね

参照

Java Naming Conventions

Kotlinコーディング規約