2016-09-07 5 views
-1

SearchViewではなくEditTextを使用しました。しかし、ここで問題は私がListViewで検索するために使用され、リストビューのデータが私が検索APIを押したときに来ている..私が説明する.. 実際に私はEditTextにcharを置くとき、私が渡した2つのパラメータ( "key" = EditTextから得られるchar、user_id = null)をbodyに渡して、郵便配達員のapiにヒットします。 "m"を押してから "m"が "key"の値としてポストしてデータを表示するようなデータを検索したいのですが、同時に "mo"を押すとapiが再び同じ値をヒットします時間とリストビュー に私に結果を得るには、Edittextはsearchviewとして機能し、いくつかのパラメータで検索APIを投稿しました

mSearchFriends.setOnEditorActionListener(new TextView.OnEditorActionListener() 
    { 
     @Override 
     public boolean onEditorAction(TextView v, int actionId, KeyEvent event) 
     { 
      String input; 
      if(actionId == EditorInfo.IME_ACTION_DONE) 
      { 
       input = String.valueOf(mSearchFriends.getText()); 
       new PostSearchApi(Add.this) { 
        @Override 
        public void fetchData(String output) { 
         Log.d("response>>>>>",output); 
         //input = String.valueOf(mSearchFriends.getText()); 
         rowItemListForSearchList = new ArrayList<>(); 
         mSearchListAdapter = new SearchListAdapter(getApplicationContext(),rowItemListForSearchList); 
         getjsonOfContact(output); 
         lvContacts.setAdapter(mSearchListAdapter); 
         mSearchListAdapter.notifyDataSetChanged(); 
         mTextView_No_Result_Found.setVisibility(View.GONE); 
        } 
       }.execute(input,""); 

それは私が結果を示すが、携帯電話のキーボードの矢印ボタンを押した後に...私を助けてください。私が望むのは、文字を入力するときにランダムなデータを検索したいのです。 OnTextChangedメソッドでコードを試しましたが、 "a"と入力するとapiがヒットし、完了したら時間がかかります。

しかし、Facebookの友だちを探すのと同じような機能が必要です

あなたが提供するコードなし以来
+0

は、私はすでに使用される第二 –

+0

を置きますそれは –

答えて

1

は、限り私はあなたのQUESを理解して、あなたはこのようにEditTextからリアルタイムテキスト変更イベントを取得することができます

yourEditText.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) { 
      //on Text change event. s is the text that is entered 
      // put your code here. Make a hit to your api and pass `s` as your parameter. 
     } 

     @Override 
     public void afterTextChanged(Editable s) { 

     } 
    }); 
+0

ok.justここにコード –

+0

あなたはyとしてsetOnEditorActionListener @ I.d007を使用していますouが今投稿しました。試してみよう –

+0

私の質問が更新されました。はい、試しましたが、edittextに文字を入れるたびにapiがヒットします。それは私が2番目のキャラクターを置くと、最初のAPIを停止し、最新のデータを更新し、同時に新しいデータでAPIを打つとき@KarandeepAtwal –

関連する問題