web-dev-qa-db-ja.com

safe-argsプラグインを有効にした後、データバインディングからルートビューを取得できません

私は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

ニースを一緒にプレイするためにデータバインディングとセーフ引数をどのように取得できますか?

コードスニペットがKotlinにある間、私は喜んでJava回答を受け取ります。Javaではそれほど快適ではありませんが、簡単に読んで翻訳できます。

エラーメッセージと「安全な引数」をグーグル検索しても、同じ問題を抱えている人を見つけることができませんでした。 Android docs here: 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
}

この問題を解決または理解するための助けが最も高く評価されます!

15
Hannah S.

私は同じ問題を抱えています、それは私のためにとても配線されていますが、レイアウトの名前を変更するだけで再び機能します、それを試してください:D

10
MarkWang

私は同じ問題を抱えており、やっと試しました

ファイル->無効なキャッシュ/再起動

わたしにはできる。

22
Daniel Chin