[英]Why is Android's SearchView widget's ImageView (with id=search_mag_icon) returning null?
展開時,默認的SearchView
在搜索提示中有一個搜索圖標。 我想從提示中刪除該圖標。
所以我在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));
在這里查看Android的search_view.xml
的xml代碼 ,此解決方案確實很有意義, 但是在以下代碼段的第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
那我該怎么辦呢?
試試這個:
EditText searchEditText = (EditText) searchview.findViewById(android.support.v7.appcompat.R.id.search_src_text);
SpannableStringBuilder ssb = new SpannableStringBuilder("");
ssb.append(hintText);
searchEditText.setHint(ssb);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.