web-dev-qa-db-ja.com

未解決のクラス '@ string / appbar_scrolling_view_behavior'

Android Studioを更新した後、ビューページャーのxmlでこのエラーが発生します。奇妙なことに、問題なく機能し、プロジェクトは問題なくビルドされます。

'@ string/appbar_scrolling_view_behavior'未解決のクラスである理由は何ですか?

 <Android.support.v4.view.ViewPager
     Android:id="@+id/viewPager"
     Android:layout_width="match_parent"
     Android:layout_height="match_parent"           
     app:layout_behavior="@string/appbar_scrolling_view_behavior">
 </Android.support.v4.view.ViewPager>

私のビューページャーはCoordinatorLayoutの中にあります。

5
Vince VD

こっちも一緒。アプリではなくIDEのバグのようです。

Android Studio 3.4の新しいプロジェクト(デフォルトのタブ)は警告を表示します:

未解決のクラス '@ string/appbar_scrolling_view_behavior'
検査情報:Android XMLファイル内のリソース参照を検証します。

キャッシュの無効化、ビルドのクリーンアップ、プロジェクトの同期では解決されません。

コード:

<Android.support.v4.view.ViewPager
    Android:id="@+id/view_pager"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
/>

最後の行を削除すると、タブが正しく機能しませんでした:

  • 2番目のタブのフラグメントは表示されませんでした
  • スクロール上部の位置が間違っている、上部バーの下に移動

IDEはそれを見つけることができませんが、アプリは間違いなく文字列/クラスを使用しています。

0
Barry Staes

同じ問題に何度も遭遇しました。

私はいつもtools:layout_behavior の代わりに app:layout_behavior

1
Ilias

Barry Staesが指摘したように、それはIDEのバグのように見えます。ただし、デザインライブラリを使用している場合は、次の構文でエラーを解消できます。

app:layout_behavior="Android.support.design.widget.AppBarLayout$ScrollingViewBehavior"
1

アプリレベルに移動build.gradleと追加:

def support_version="28.0.0"
implementation "com.Android.support:design:$support_version"

機能しない場合は、support_version

0
StrouStrup