2013-08-15 11 views
9

常にnullですか?SearchViewののEditTextは、私はいつもこれを行う際のTextViewがnullであることを取得

+0

変更したいテキストがあるテキストビューを見つけるには、http://stackoverflow.com/a/14364222/1680787 –

+1

[getIdentifier](http://developer.android.com/reference/android/content/ res/Resources.html#getIdentifier(java.lang.String、java.lang.String、java.lang.String)) – codeMagic

+0

IDをログに記録しようとしましたが、それは何を返しますか? –

答えて

14

EditTextではなく、TextViewです。

ようなものを試してみてください:

int id = searchView.getContext() 
        .getResources() 
        .getIdentifier("android:id/search_src_text", null, null); 
EditText editText = (EditText) searchView.findViewById(id); 

はそれがお役に立てば幸いです。

+2

EditTextは実際にTextViewです。 TextViewを継承します。だから彼らには同じ方法がたくさんあります。 EditTextは編集可能です。 – afollestad

+0

@afollestadあなたが正しいです。しかし、私の場合は、EditViewで動作していますが、TextViewでは動作していません。なぜ私は正確に知りません。たぶん魔法のアンドロイドの謎の1つです。 – Undisputed

+0

これは何もできませんでしたが、これ!ありがとう – Vitalii

27

私はAPPCOMPAT V7のアクションバーを使用していて、私のsolusionは次のとおりです。

TextView searchText = (TextView) searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text); 

・ホープこのヘルプ。

+1

信じられないほどのITが働いた!あなたは私の命を救いました!あなたはどこでそのものを発見するのですか? – ThanosFisherman

+1

Androidはオープンソースです:) – Skynet

関連する問題