Android 当用户在edittext中输入文本时,如何从volley发送Post请求?
我有一个edittext,我想根据从服务器收到的响应填充一个autocomplete textview,但当用户刚刚输入3或4个字符时,无法看到如何通过截击发送请求。输入3个字符后,我必须发出请求并将响应显示为autocomplete。然后,他单击建议并然后给出了精确的结果Android 当用户在edittext中输入文本时,如何从volley发送Post请求?,android,json,Android,Json,我有一个edittext,我想根据从服务器收到的响应填充一个autocomplete textview,但当用户刚刚输入3或4个字符时,无法看到如何通过截击发送请求。输入3个字符后,我必须发出请求并将响应显示为autocomplete。然后,他单击建议并然后给出了精确的结果 public void afterTextChanged(Editable s) { // TODO Auto-generated method stub St
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
String searchText = e1.getText().toString().trim();
if (searchText.length()>3){
request = new StringRequest(Request.Method.GET, suggesturl + e1.getText().toString(), new Response.Listener<String>() {
public void onResponse(String response) {
Toast.makeText(MainActivity.this,"Hii",Toast.LENGTH_SHORT).show();
try {
JSONArray array1 = new JSONArray(response);
for (int i = 0; i < array1.length(); i++) {
JSONObject obj1 = array1.getJSONObject(i);
id = obj1.getString("Title");
t1.setText(id);
//getdetails(id);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
public void onErrorResponse(VolleyError error) {
//Citydetails.error();
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
HashMap<String, String> hashMap = new HashMap<String, String>();
hashMap.put("cityName", city);
return hashMap;
}
};
requestQueue.add(request);
}
public void-afterextchanged(可编辑){
//TODO自动生成的方法存根
字符串searchText=e1.getText().toString().trim();
如果(searchText.length()>3){
request=new-StringRequest(request.Method.GET,suggesturl+e1.getText().toString(),new-Response.Listener()){
公共void onResponse(字符串响应){
Toast.makeText(MainActivity.this,“Hii”,Toast.LENGTH_SHORT.show();
试一试{
JSONArray array1=新JSONArray(响应);
for(int i=0;i
使用TextWatcher
-
editText.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) {
//You can check the number of characters entered and make your API request
String searchText = editText.getText().toString().trim();
if(searchText.length > 3 ){ //Any number you want
//Make request here
}
}
});
没有发生任何事情我认为GET请求没有被发送。