2016-11-18 16 views
-1

AddTextChangedListenerAutoCompleteTextViewを使用して実装しますAndroid.Text.ITextWatcherしかし、私はXamarinで実装する方法を見つけることができません。AutoCompleteTextView Android(Xamarin)のAddTextChangedListenerメソッド

私はBigDataを使用していますので、すべてのシングルキャラクターはAutoCompleteTextViewに追加されています。データをチェックするためにサーバーを呼びたいと思っています。だから、にonTextChangedbeforeTextChangedafterTextChangedを追加したいと思います。私は任意のヘルプは高く評価される

方法下記
txtSearch.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) { 
            String newText = txtSearch.getText().toString(); 
            new getJsonData().execute(newText); 
           } 

           @Override 
           public void afterTextChanged(Editable s) { 

           } 
          }); 

を使用しています純粋なアンドロイドで

更新:

enter image description here

ユーザーがMedical StoreAutoCompleteTextViewに何かを書くと、ユーザーが1つの新しい文字を書くたびに変更される提案から値を選択した場合は上部のスクリーンショットを参照してください。次に、ユーザーがデータから値を選択した場合は、Addressに設定します。

+0

のように作成されますインタフェースメソッドを実装します。あなたが必要とするすべては 'android.widget.Filterable'アダプタではなく – pskink

+0

@pskinkですあなたはどのようにそれを実装することができます私はすべての単一の新しいcharcterユーザーによって追加することができます私はサーバーのデータを呼び出したい。 'onTextChanged'はサーバーに新しいデータを呼び出す必要があるからです。 – Ironman

+0

http://stackoverflow.com/a/19860624/2252830 – pskink

答えて

0

私は解決策を得ました。私が持っている私の活動に

Android.Text.ITextWatcherを拡張し、それはあなたがそれを必要といけない以下の方法

public void AfterTextChanged(IEditable s) 
     { 

     } 

public void BeforeTextChanged(ICharSequence s, int start, int count, int after) 
     { 

     } 

public async void OnTextChanged(ICharSequence s, int start, int before, int count) 
     { 
      string newText = autoCompleteTextView.Text; 
      var suggestionData = await PrescriptionServices.GetFilterData(newText); 

      adapter = new ArrayAdapter(this, Resource.Layout.row_org, suggestionData); 
      autoCompleteTextView.Adapter = adapter; 

     } 
+0

あなたは私が何を意味したのかわからないようです。[ここ](http://androidxref.com/7.0.0_r1/xref/frameworks/base/core/java/android/widget/AutoCompleteTextView.java#856) 'ACTV'がすでに' TextWatcher'( 'MyWatcher'と呼ばれています)を持っていることが分かります。このソースコードを解析するだけで、' ACTV'を正しく使う方法を知ることができます – pskink

関連する問題