Problèmes de rendu Impossible de résoudre resource @ id/search_edit_frame
C'est l'erreur de rendu que j'obtiens dans mon fichier XML. Je pense que cela a quelque chose à voir avec mon support.v7.SearchView
ci-dessous est mon 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>
Lorsque je modifie le <Android.support.v7.widget.SearchView
en <SearchView
, l'erreur disparaît, mais ce n'est pas une bonne solution pour moi car je devrais changer tout mon code Java pour utiliser la SearchView
au lieu du Android.support.v7.widget.SearchView
.
Est-ce que quelqu'un sait comment résoudre ce problème? pourquoi ça se passe Je ne pense pas qu'il y ait quelque chose de mal avec mon xml.
Modifier:
Capture d'écran ajoutée de l'erreur
Lorsque vous avez beaucoup de données en mémoire cache, stockez-les dans Android Studio
à ce moment-là, ce type d'erreur arrive.
Il y a plusieurs façons de le résoudre.
Le moyen le plus rapide de le faire est File
→ Invalidate caches / Restart...
→ Just Restart
.
Faites un clic droit sur project
et Synchronize ...Project
Build menu
-> sélectionnez Clean Project
puis Rebuild
it
.Pour résoudre ce problème, fournissez une
Android:id="@+id/search_edit_frame"
attribuer à une vue parent telle que
Android.support.design.widget.AppBarLayout
ou tout groupe de vues qui est le parent de votre SearchView.
Par exemple:
<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 />
utiliser ce code
<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"
ajouter la ligne ci-dessus à la mise en page parent qui a fait le tour pour moi
Voici une solution simple.
Il n'est pas nécessaire d'invalider le cache ou de redémarrer . Ajoutez simplement la ligne ci-dessous dans votre fichier strings.xml et le problème sera résolu.
<item name="search_edit_frame" type="id"/>
Bingo!