2017-04-12 52 views
0

我想將我的SearchView函數轉換爲EditText。我怎樣才能做到這一點?當我嘗試轉移它時,出現錯誤或崩潰,所以您可以幫我解決我的小問題。如何將我的SearchView轉換爲EditText?

這裏是我的EditText

<EditText 
     android:id="@+id/editText" 
     android:layout_width="match_parent" 
     android:layout_height="40dp" 
     android:layout_gravity="center" 
     android:background="@drawable/rounded_edittext" 
     android:ems="10" 
     android:inputType="textPersonName" 
     android:textAlignment="center" /> 

對不起,我在Android的一個新手。

+0

的如果更改編輯文本,使用文字守望者。在這裏發表錯誤,以便大家都能明白什麼是你的問題 –

+0

爲什麼ü[R做這樣 的EditText searchEditText =(EditText上)searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text) 什麼ü真正想要的? –

+0

你可以使用這個庫:https://github.com/MiguelCatalan/MaterialSearchView – anonymous

回答

1

並回答你的問題:

您不能轉換成搜索查看的EditText,因爲搜索查看是小工具裏面包含了很多類似的EditText,TextView的意見的。

如果您需要操作editview的editText以提示消息,顏色等,您可以從searchview中獲取EditText。其實它叫AutoCompleteTextView

AutoCompleteTextView EditText = (AutoCompleteTextView) searchView.findViewById(R.id.search_src_text); 

編輯

如果你想EditText上表現得像搜索查看

editText.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void beforeTextChanged(CharSequence s, int start, int count, int after) { 

     } 

     @Override 
     public void onTextChanged(CharSequence s, int start, int before, int count) { 

     } 

     @Override 
     public void afterTextChanged(Editable s) { 

     } 
    }); 
+0

是不是'android.R.id'? –

+0

我想在我的edittext中傳輸我的searchview函數,我想要發生 – madara09

+0

@ cricket_007我不是,因爲我在searchview元素上使用findViewByID() –

0

好了,你不能把一個EditText菜單XML內你的方式」已經書面

你可以試試這個,而不是

<menu 
    xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item 
     android:id="@+id/action_edit" 
     android:icon="@drawable/actionbar_button_search" 
     android:title="Search" 
     android:showAsAction="always" 
     android:actionViewClass="android.widget.EditText" /> 

如果這不是你的意思,而你把EditText放在活動中,那麼你錯過了findViewById來獲取它,而且它不是選項菜單的一部分,不會在問題中替換SearchView。

相反,去onCreate方法,並設置提示並添加TextWatcher代替查詢聽衆

+0

是的,我想把我的searchivew放在我的活動內。所以我不需要它在我的菜單中xml – madara09

+0

你的意思是EditText?再一次,你只是缺少findViewById。嘗試製作[mcve]。 –

+0

對不起,我的意思是edittext – madara09