dataBindingを使用してAndroidアプリで作業していて、現在safe-argsプラグインを追加しようとしていますが、プラグインを有効にした後、binding.rootを介してルートビューを取得できなくなりました-Android Studioでエラーが発生します:
Unresolved Reference
None of the following candidates is applicable because of a receiver type mismatch:
* internal val File.root: File defined in kotlin.io
どのようにすれば、データバインディングとsafe-argsを組み合わせてうまく機能させることができますか?
コードスニペットがKotlinにある間、私はJavaの回答を喜んで受け取ります。Javaほど快適ではありませんが、簡単に読んで翻訳できます。
エラーメッセージと「安全な引数」をグーグル検索しても、同じ問題を抱えている人を見つけることができませんでした。最初に、こちらのAndroidドキュメントに記載されているクラスパスを試してみました:https : //developer.android.com/guide/navigation/navigation-pass-data
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.1.0"
そして、私が使用することを提案するチュートリアルも見つけました:
classpath "android.arch.navigation:navigation-safe-args-gradle-plugin:1.0.0-alpha07"
両方に同じ問題がありました:binding.rootはプラグインがアクティブ化されているときにエラーを出しました
これが私のフラグメントのonCreateView()です。その戻り行は、safe-argsが有効になっていない場合は正しく機能し、有効になっている場合は機能しません。
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
binding = DataBindingUtil.inflate(inflater, R.layout.fragment_encoder, container, false)
return binding.root
}
この問題を解決または理解するための支援が最も高く評価されます!