我正在使用edittext搜索表单JSON
url数据,我给了搜索字段。搜索editText
上的每个字母类型过滤listview
,同时listview
重新加载,如果edittext
空显示所有当前列表。怎么样,请帮助我...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.electronic_main);
search = (EditText) findViewById(R.id.text_search);
listview = (ListView) findViewById(R.id.listview);
search.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) {
ArrayList<HashMap<String, String>> arrayTemplist = new ArrayList<HashMap<String, String>>();
String searchString = search.getText().toString().toLowerCase(Locale.getDefault());
listview.setTextFilterEnabled(true);
for (int i = 0; i < arraylist.size(); i++) {
String currentString = arraylist.get(i).get(Electronic.WORKERNAME);
String currentPlaceString = arraylist.get(i).get(Electronic.LOCATION);
String currentShopString = arraylist.get(i).get(Electronic.SHOPNAME);
if (searchString.equalsIgnoreCase(currentString) ||
searchString.equalsIgnoreCase(currentShopString) ||
searchString.equalsIgnoreCase(currentPlaceString)) {
arrayTemplist.add(arraylist.get(i));
}
}
adapter = new ElectronicAdapter(Electronic.this, arrayTemplist);
listview.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
@Override
public void afterTextChanged(Editable s) {
adapter.notifyDataSetChanged();
}
});
Boolean isInternetPresent = cd.isConnectingToInternet(); // true or false
if (isInternetPresent) {
new DownloadJSON().execute();
} else {
Intent lost = new Intent(Electronic.this, NetConnection.class);
startActivity(lost);
}
}
private class DownloadJSON extends AsyncTask<Void, Void, Boolean> {
@Override
protected void onPreExecute() {
super.onPreExecute();
mProgressDialog = new ProgressDialog(Electronic.this);
mProgressDialog.setMessage("Loading...");
mProgressDialog.setIndeterminate(false);
mProgressDialog.show();
}
@Override
protected Boolean doInBackground(Void... params) {
arraylist = new ArrayList<HashMap<String, String>>();
jsonobject = JSONfunctions
.getJSONfromURL("http://beta.json-generator.com/api/json/get/D0_dGQT");
try {
jsonarray = jsonobject.getJSONArray("eletronics");
for (int i = 0; i < jsonarray.length(); i++) {
HashMap<String, String> map = new HashMap<String, String>();
jsonobject = jsonarray.getJSONObject(i);
map.put("workername", jsonobject.getString("workername"));
map.put("shopname", jsonobject.getString("shopname"));
map.put("experience", jsonobject.getString("experience"));
map.put("fare", jsonobject.getString("fare"));
map.put("location", jsonobject.getString("location"));
map.put("Rating", jsonobject.getString("Rating"));
map.put("address", jsonobject.getString("address"));
map.put("workerimage", jsonobject.getString("workerimage"));
map.put("shopphoto", jsonobject.getString("shopphoto"));
map.put("cell", jsonobject.getString("cell"));
arraylist.add(map);
}
} catch (JSONException e) {
e.printStackTrace();
}
return true;
}
@Override
protected void onPostExecute(Boolean arg) {
listview = (ListView) findViewById(R.id.listview);
adapter = new ElectronicAdapter(Electronic.this, arraylist);
listview.setAdapter(adapter);
mProgressDialog.dismiss();
}
}
}
答案 0 :(得分:0)
ServerSocket(int port)