private void search(){
searchView.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) {
searchStr = searchView.getText().toString();
if(searchTimer!=null){
return;
}
if(searchStr.equals("")){
searchTimer=null;
searchEnterpriseListView.setVisibility(View.GONE);
swipeRefreshLayout.setVisibility(View.VISIBLE);
return;
}else{
searchEnterpriseListView.setVisibility(View.VISIBLE);
swipeRefreshLayout.setVisibility(View.GONE);
}
searchTimer = new Timer();
searchTimer.schedule(new TimerTask() {
@Override
public void run() {
while(true){
if(searchStr.equals(searchView.getText().toString())){
Map<String,String> params = new HashMap<>();
params.put("enterprise",searchStr);
AsynchronousApi.httpPost(EnterpriseListAvtivity.this, Cloud.getAPI_MAP(),params, new Consumer<CommonResp>() {
@Override
public void accept(CommonResp o) throws Exception {
List<SiteInfo> site = JSON.parseObject(o.getData().toString(), new TypeReference<List<SiteInfo>>(){});
searchAdapter = new EnterpriseListAdapter(EnterpriseListAvtivity.this,site);
searchEnterpriseListView.setAdapter(searchAdapter);
}
});
searchTimer=null;
break;
}
}
}
},1500);
}
});
}