2016-06-27 6 views
2

meine Suche, die in einer Symbolleiste ist nicht die Texte zeigt, die innerhalb der Search der textBox ist bitte auf das Bild unten sehen:Suche der eingegebene Text nicht sichtbar ist

wenn ich die Eingabe von Text der Cursor bewegt wird, wie Sie unten sehen können aber der Text ist nicht sichtbar

enter image description here

aber, wenn der eingegebene Text ist die Auswahl, jetzt können Sie den eingegebenen Text sehen, das Symbol Suche zum Zusammenlegen ist auch nicht sichtbar (das ist hier auf der linken Seite von Search) irgendeine Idee warum passiert das ???

enter image description here

meine XML-Datei:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 

    xmlns:app="http://schemas.android.com/apk/res-auto"> 
    <item 
     android:id="@+id/action_search" 
     android:icon="@drawable/icon_search" 
     app:actionViewClass="android.support.v7.widget.SearchView" 
     app:showAsAction="ifRoom|collapseActionView" 
     android:title="Search"/> 

</menu> 

Antwort

1

habe es funktioniert, dank Ferran Maylinch

 for (TextView textView : findChildrenByClass(searchView, TextView.class)) { 
      textView.setTextColor(Color.WHITE); 
     } 

die URL-Funktion:

public static <V extends View> Collection<V> findChildrenByClass(ViewGroup viewGroup, Class<V> clazz) { 

    return gatherChildrenByClass(viewGroup, clazz, new ArrayList<V>()); 
} 

private static <V extends View> Collection<V> gatherChildrenByClass(ViewGroup viewGroup, Class<V> clazz, Collection<V> childrenFound) { 

    for (int i = 0; i < viewGroup.getChildCount(); i++) 
    { 
     final View child = viewGroup.getChildAt(i); 
     if (clazz.isAssignableFrom(child.getClass())) { 
      childrenFound.add((V)child); 
     } 
     if (child instanceof ViewGroup) { 
      gatherChildrenByClass((ViewGroup) child, clazz, childrenFound); 
     } 
    } 

    return childrenFound; 
}