2016-07-05 19 views
7

problemi di rendering Impossibile risolvere risorsa @ id/search_edit_frameproblemi di rendering Impossibile risolvere risorsa @ id/search_edit_frame

Questo è l'errore di rendering mi sto nel mio file xml. Penso che abbia qualcosa a che fare con il mio support.v7.SearchView di seguito è il mio 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> 

quando cambio la <android.support.v7.widget.SearchView al <SearchView l'errore scompare, ma non è una buona soluzione per me, perché avrei dovuto cambiare tutta la mia java codice per funzionare con SearchView anziché android.support.v7.widget.SearchView.

Qualcuno sa come risolvere questo problema? perché succede? Non penso che ci sia qualcosa di sbagliato nel mio xml.

Edit:

Aggiunto screenshot dell'errore

screenshot

+0

correlati [Impossibile risolvere la risorsa @ id/visibile quando si utilizza TextInputLayout] (https://stackoverflow.com/a/42079386/7034327) – John

risposta

5

Quando si hanno molti dati della memoria cache vengono negozio in Android Studio quel tempo questo tipo di errore sta arrivando ..

Ci sono molti modi per risolverlo.

  1. modo più rapido per farlo è FileInvalidate caches/Restart...Just Restart.

  2. clic destro su project e Synchronize ...Project

  3. click su Build menu -> selezionare Clean Project e poi Rebuild it.
+3

Grazie per la risposta! ma l'errore è ancora lì – Daniele

+0

@Daniele pubblica lo screenshot dello schermo. – Ironman

+0

Per favore, guarda la mia domanda, ho aggiunto lo screenshot – Daniele

1

uso di questo codice

<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

Per risolvere questo problema, fornire un attributo

android:id="@+id/search_edit_frame" 

ad una vista padre, ad esempio

android.support.design.widget.AppBarLayout 

o qualsiasi ViewGroup che è genitore al vostro SearchView.

Ad esempio:

<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

che ha fatto il trucco per me. (y) – Bawa

+0

Bingo! Questo ha funzionato perfettamente –

+0

Questa è la bomba, funziona alla grande per me! Manca solo "@" nella risorsa id di Android. :) –

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

aggiungere di sopra della linea di layout di genitore che ha fatto il trucco per me

0

Ecco un semplice una soluzione.

Non è necessario invalidare la cache o riavviare. Basta aggiungere la riga sottostante al file strings.xml e il problema verrà risolto.

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

Bingo!

Problemi correlati