searchView输入的文字不可见

时间:2016-06-27 13:22:54

标签: android-layout android-toolbar searchview

我在工具栏中的searchView没有显示searchView文本框内的文本,请参见下图:

当我输入文本时,光标正在移动,如下所示,但文本不可见

enter image description here

但是当我选择输入的文本时,现在你可以看到输入的文本,折叠searchView的图标也是不可见的(这是在searchView的左侧)任何想法为什么会发生这种情况?

enter image description here

我的xml文件:

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

1 个答案:

答案 0 :(得分:1)

得到了它,感谢Ferran Maylinch

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

网址功能:

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