2016-07-05 6 views
7

Rendering Probleme können nicht lösen Ressource @ id/search_edit_frameRendering Probleme Ressource können nicht @ id/search_edit_frame

Dies ist der Rendering-Fehler erhalte ich in meiner XML-Datei lösen. Ich denke, es hat etwas mit meinem support.v7.SearchView unten ist mein xml zu tun:

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

Wenn ich ändern die <android.support.v7.widget.SearchView zu <SearchView der Fehler verschwindet, aber das ist keine gute Lösung für mich, weil ich mein Java ändern müssten alle Code mit der SearchView anstelle der android.support.v7.widget.SearchView zu arbeiten.

Kann jemand dieses Problem beheben? Warum passiert das? Ich glaube nicht, dass mit meinem XML etwas falsch ist.

Edit:

hinzugefügt Screenshot des Fehlers

screenshot

+0

Related [Konnte resource @ id/visible bei Verwendung von TextInputLayout nicht auflösen] (https://Stackoverflow.com/a/42079386/7034327) – John

Antwort

5

Wenn Sie viel Cache-Speicher Daten speichern in Android Studio haben, dass die Zeit diese Art von Fehler kommt ..

Es gibt viele Möglichkeiten, es zu lösen.

  1. Schnellster Weg, dies zu tun, ist FileInvalidate caches/Restart...Just Restart.

  2. Rechtsklick auf project und Synchronize ...Project

  3. Klick auf Build menu -> wählen Clean Project und dann Rebuild it.
+3

Vielen Dank für die Antwort! aber der Fehler ist immer noch da – Daniele

+0

@Daniele post the screenShot des Bildschirms. – Ironman

+0

Bitte schauen Sie sich meine Frage an, ich habe den Screenshot hinzugefügt – Daniele

1

Verwendung dieser 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" /> 
14

dieses Problem zu beheben, eine

android:id="@+id/search_edit_frame" 

Attribut auf einen Blick Eltern bieten wie

android.support.design.widget.AppBarLayout 

oder jede Viewgroup, die Eltern auf Ihre Suche ist.

Zum Beispiel:

<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 /> 
+0

, das den Trick für mich tat. (y) – Bawa

+0

Bingo! Das hat perfekt funktioniert –

+0

Das ist die Bombe, funktioniert super für mich! Nur fehlt "@" in der Android-ID-Ressource. :) –

1
android:id="@+id/search_edit_frame" 

über die Linie zu übergeordnetem Layout hinzufügen, das den Trick für mich

0

Hier ist eine einfache One-Lösung.

Es ist nicht notwendig, den Cache zu entwerten oder neu zu starten. Fügen Sie einfach die folgende Zeile in Ihre strings.xml-Datei ein und das Problem wird gelöst.

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

Bingo!