几天前我注意到我的SearchView
中的输入文本没有显示出来。也许这个问题在更早的时候就开始了,我没有注意到它,但是我知道当我第一次设置搜索功能时,一切运行良好。SearchView中的文本输入不显示
下面是截图(我已经输入的文本,你可以看到,它没有显示):
我已经尝试改变文字颜色上SearchView
,与this SO question,我也试着改变我的可搜索配置XML文件中的文字颜色。之后,我没有发现这些工作的,我解开了自己的变化,使你可以看到我现在有下面的代码:我已经代替new ComponentName(...)
MainActivity.java
@Override
public boolean onCreateOptionsMenu(Menu) {
...
// Associate searchable configuration with the SearchView
SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE);
MenuItem searchMenuItem = menu.findItem(R.id.action_search);
SearchView searchView = (SearchView) searchMenuItem.getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(new ComponentName(this, SearchResultsActivity.class)));
// Note: getSearchableInfo(getComponentName()) will not work on all flavours
// because of a difference in app IDs
}
注getSearchableInfo(getComponentName())
,因为我在不同的口味中使用不同的软件包名称。
以上活动是显示SearchView
的地方。结果显示在另一项活动中。
searchable.xml
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/app_name"
android:hint="@string/search_hint" />
的AndroidManifest.xml
...
<activity
android:name=".ui.MainActivity"
android:label="@string/title_activity_main"
android:theme="@style/AppTheme">
<meta-data
android:name="android.app.default_searchable"
android:value=".SearchResultsActivity" />
</activity>
...
<activity
android:name=".ui.filter.SearchResultsActivity"
android:label="@string/title_activity_search_results"
android:parentActivityName=".ui.MainActivity"
android:theme="@style/AppTheme.Search">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.companyname.appname.ui.MainActivity" />
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
...
styles.xml(含有SearchView
活性使用AppTheme.NavDrawer
)
...
<style name="Base.AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="colorButtonNormal">?colorAccent</item>
</style>
<style name="AppTheme" parent="Base.AppTheme">
<item name="colorPrimary">@color/theme_primary</item>
<item name="colorPrimaryDark">@color/theme_primary_dark</item>
<item name="colorAccent">@color/theme_accent</item>
</style>
<style name="AppTheme.NavDrawer">
<item name="android:windowBackground">@color/window_background</item>
</style>
...
V21/styles.xml
<style name="AppTheme.NavDrawer">
<item name="android:windowBackground">@color/window_background</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
</style>
....
activity_main_filterable.xml(我的活动使用的布局)
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true" >
<include layout="@layout/activity_main_content" />
<include layout="@layout/navdrawer"
android:id="@+id/navigationView" />
<include layout="@layout/filter_drawer"
android:id="@+id/filter_drawer" />
</android.support.v4.widget.DrawerLayout>
activity_main_content.xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/adView">
<android.support.design.widget.AppBarLayout
android:fitsSystemWindows="true"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
style="@style/AppTheme.Toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
app:layout_scrollFlags="scroll|enterAlways"/>
<include layout="@layout/blank" /> <!-- This is to prevent bugs -->
</android.support.design.widget.AppBarLayout>
<include layout="@layout/fragment_misc_no_results"
android:id="@+id/fragment_no_results"/>
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
style="@style/AppTheme.RecyclerView.StandardList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
ads:adSize="SMART_BANNER"
ads:adUnitId="@string/banner_ad_unit_id" />
</RelativeLayout>
关于可能发生什么或应该如何解决的任何想法?
您可以发布您style.xml? –
@SaeedEntezari看到我的更新我的问题:) –
你可以发布你的布局? – MidasLefko