レンダリングの問題でリソース@ id/search_edit_frameを解決できませんでした
これは、xmlファイルで発生しているレンダリングエラーです。私のsupport.v7.SearchView
とは何か関係があると思います。以下は私のxmlです。
<RelativeLayout
Android:id="@+id/layout_ricerca"
Android:layout_width="match_parent"
Android:layout_height="50dp"
Android:background="@drawable/search_border_backgroud"
Android:layout_marginStart="10dp"
Android:layout_marginEnd="10dp"
Android:layout_marginTop="20dp">
<Android.support.v7.widget.SearchView
Android:id="@+id/testo_ricerca"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:queryHint="@string/search_hint"
Android:textSize="25sp"
Android:layout_marginStart="5dp"
Android:iconifiedByDefault="false"/>
<ImageButton
Android:id="@+id/tasto_ricerca"
Android:background="@color/trans"
Android:layout_marginTop="2dp"
Android:layout_width="45dp"
Android:layout_height="match_parent"
Android:layout_marginEnd="3dp"
Android:scaleType="centerInside"
Android:layout_alignParentEnd="true"
Android:src="@drawable/tasto_ricerca"/>
</RelativeLayout>
<Android.support.v7.widget.SearchView
を<SearchView
に変更するとエラーは消えますが、Javaで動作するようにすべてのコードを変更する必要があるため、これは私にとって良い解決策ではありません。 Android.support.v7.widget.SearchView
の代わりにSearchView
。
誰かがこの問題を修正する方法を知っていますか?なぜそれが起こるのですか?私のxmlに問題はないと思います。
編集:
エラーのスクリーンショットを追加しました
キャッシュメモリが大量にある場合、データはAndroid Studio
に格納され、そのときにこのタイプのエラーが発生します。
それを解決する方法はたくさんあります。
これを行う最も簡単な方法は、File
→Invalidate caches / Restart...
→Just Restart
です。
project
とSynchronize ...Project
を右クリックします
Build menu
をクリックして、[Clean Project
]、[Rebuild it
]の順に選択します。この問題を解決するには、
Android:id="@+id/search_edit_frame"
次のような親ビューの属性
Android.support.design.widget.AppBarLayout
または、SearchViewの親である任意のViewGroup。
例えば:
<Android.support.design.widget.AppBarLayout
Android:id="@+id/search_edit_frame"
Android:layout_width="match_parent"
Android:layout_height="@dimen/my_app_bar_height">
<Android.support.v7.widget.SearchView
Android:layout_width="match_parent"
Android:layout_height="match_parent" />
<Android.support.design.widget.AppBarLayout />
このコードを使用
<SearchView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:id="@+id/searchView"
Android:iconifiedByDefault="true"
Android:queryHint="Search"
Android:layout_centerHorizontal="true" />
Android:id="@+id/search_edit_frame"
私のためにトリックをした親レイアウトに上の行を追加してください
これは簡単な1つの解決策です。
キャッシュを無効にしたり、再起動したりする必要はありません。以下の行をstrings.xmlファイルに追加するだけで、問題が解決します。
<item name="search_edit_frame" type="id"/>
ビンゴ!