2016-09-07 65 views
-1

我使用EditText而不是SearchView。但是,这里的问题是不同的,我用ListView中搜索和ListView中的数据来了,当我点击搜索API ..我解释.. 其实我有一个API时,我把字符放在EditText中,我得到该字符从EditText中,通过传递参数在body中,传递了两个参数(“key”=我从EditText得到的字符,user_id = null),从而在postman中点击api。 我想要搜索数据,比如当我按“m”时,那么“m”将作为“key”的值发布并显示数据,同时如果我按下“mo”,则api再次击中相同时间,让我得到的结果的ListView 请帮我...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

ok.just我已经使用了第二 –

回答

1

由于没有通过你提供的代码,据我理解你的疑问句,你可以从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

它 –

+0

您正在使用setOnEditorActionListener @ I.d007作为y ou现在发布。试试这个 –

+0

我更新了我的问题。是的,我尝试过,但每次将字符放在edittext中时都会点击api。它应该是当我把第二个字符,然后第一个API停止并更新最新的数据,然后用新数据在同一时间点击API @KarandeepAtwal –