簡體   English   中英

為什么Android的SearchView小部件的ImageView(ID = search_mag_icon)返回null?

[英]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.xmlxml代碼 ,此解決方案確實很有意義, 但是在以下代碼段的第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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM