【发布时间】:2015-08-07 09:53:14
【问题描述】:
默认SearchView 在展开时在搜索提示中有一个搜索图标。我想从提示中删除这个图标。
所以我看到了this answer on SO。它在onCreate() 中给出了以下解决方案:
int magId = getResources().getIdentifier("android:id/search_mag_icon", null, null);
ImageView magImage = (ImageView) searchView.findViewById(magId);
magImage.setLayoutParams(new LinearLayout.LayoutParams(0, 0));
看看xml code of Android's search_view.xml here,这个解决方案确实很有意义,但我在以下sn-p的第6行得到NullPointerException:
SearchView searchView = (SearchView) findViewById(R.id.searchActivity_searchView);
int magId = getResources().getIdentifier("android:id/search_mag_icon", null, null);
Log.i(TAG, "magId > "+ magId);
ImageView magImage = (ImageView) searchView.findViewById(magId);
Log.i(TAG, "magImage > "+ magImage);
magImage.setLayoutParams(new LinearLayout.LayoutParams(0, 0));
在异常之前,它会打印:
08-07 14:13:15.740: I/SearchActivity(2548): magId > 16909188
08-07 14:13:15.740: I/SearchActivity(2548): magImage > null
那我该怎么办呢?
【问题讨论】:
标签: android nullpointerexception searchview android-search