Edittext作为searchview通过发布搜索api与一些参数
我使用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上找朋友那样的功能
由于没有通过你提供的代码,据我理解你的疑问句,你可以从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) {
}
});
它 –
您正在使用setOnEditorActionListener @ I.d007作为y ou现在发布。试试这个 –
我更新了我的问题。是的,我尝试过,但每次将字符放在edittext中时都会点击api。它应该是当我把第二个字符,然后第一个API停止并更新最新的数据,然后用新数据在同一时间点击API @KarandeepAtwal –
把这里的代码 –
ok.just我已经使用了第二 –