web-dev-qa-db-ja.com

レンダリングの問題でリソース@ id / search_edit_frameを解決できませんでした

レンダリングの問題でリソース@ 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に問題はないと思います。

編集:

エラーのスクリーンショットを追加しました

screenshot

10
Daniele

キャッシュメモリが大量にある場合、データはAndroid Studioに格納され、そのときにこのタイプのエラーが発生します。

それを解決する方法はたくさんあります。

  1. これを行う最も簡単な方法は、FileInvalidate caches / Restart...Just Restartです。

  2. projectSynchronize ...Projectを右クリックします

  3. Build menuをクリックして、[Clean Project]、[Rebuild it]の順に選択します。
6

この問題を解決するには、

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 />
16
Chad Mx

このコードを使用

<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" />
1
Rinku Vashist
    Android:id="@+id/search_edit_frame"

私のためにトリックをした親レイアウトに上の行を追加してください

1
Amol Gursali

これは簡単な1つの解決策です。

キャッシュを無効にしたり、再起動したりする必要はありません。以下の行をstrings.xmlファイルに追加するだけで、問題が解決します。

 <item name="search_edit_frame" type="id"/>

ビンゴ!

0
kamranbhatti585