Was ich mache, ist Daten von Web-Service zu suchen, wenn Daten gefunden zeigen dann Daten in der Rasteransicht. Hier ist mein normaler Suchcode, in dem ich Eingaben in Text bearbeiten kann, wenn Übereinstimmungen dann das Ergebnis in der nächsten Seitenrasteransicht anzeigen. Was ich will, wenn keine Daten gefunden Toast von keine Daten gefunden. Was passiert ist, wenn ich irgendeine zufällige Arbeit wie knydwf eingeben, dann zeigt es alle Daten auf Web-Service. Was ich will, ist Toast keine Daten gefunden Hier zeigen mein CodeWenn das Suchergebnis nicht übereinstimmt show nicht gefunden auf der nächsten Seite oder in Toast
/********************for normal search ************************************/
class Get_normal_search extends AsyncTask<String, String, String>{
JSONObject jsonobject;
JSONArray jsonarray;
ProgressDialog mProgressDialog;
@Override
protected void onPreExecute() {
mProgressDialog = new ProgressDialog(Frnt_mapActivity.this);
mProgressDialog.setMessage("Loading...");
mProgressDialog.setCancelable(false);
mProgressDialog.show();
super.onPreExecute();
}
// Slow Implementation
private String inputStreamToString(InputStream is) {
String s = "";
String line = "";
// Wrap a BufferedReader around the InputStream
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
// Read response until the end
try {
while ((line = rd.readLine()) != null) {
s += line;
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Return full string
return s;
}
@SuppressLint("NewApi")
@Override
protected String doInBackground(String... params) {
// TODO Auto-generated method stub
normlSearchList = new ArrayList<NormalSearchBeams>();
// String gt_ky = edit_search.getText().toString().trim();
String gt_ky = edit_search.getText().toString().replaceAll("\\s+","");
System.out.println("[email protected]@@@@@"+gt_ky.trim());
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("http://towncitycards.com/webservice_action.php?action=search_box&search_term="+gt_ky.trim().toString());
try{
HttpResponse response = httpClient.execute(httpPost);
String data = inputStreamToString(response.getEntity().getContent());
jsonobject = new JSONObject(data);
jsonarray = new JSONArray(jsonobject.getString("product"));
for(int j=0; j<jsonarray.length();j++){
JSONObject itemobj = jsonarray.getJSONObject(j);
//SHOW SEARCH RESULT
NormalSearchBeams normalsearchItems = new NormalSearchBeams();
normalsearchItems.setId(itemobj.getString("ID"));
normalsearchItems.setPost_title(itemobj.getString("post_title"));
normalsearchItems.setImage(itemobj.getString("image"));
normalsearchItems.setDiscount(itemobj.getString("discount"));
//imglist.add(itemobj.getString("image"));
normlSearchList.add(normalsearchItems);
}
}catch(Exception e){
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
try{
Intent in = new Intent(Frnt_mapActivity.this, Norml_SearchActivity.class);
startActivity(in);
}
catch (Exception e) {
// TODO: handle exception
}
if(mProgressDialog!=null && mProgressDialog.isShowing()){
mProgressDialog.dismiss();
}
}
}
Ich denke, was Sie suchen ist, zu überprüfen, ob 'normlSearchList' leer ist, bevor Sie starten eine neue Aktivität, um das Ergebnis anzuzeigen. Wenn die Liste leer ist, wird der Toast angezeigt, der besagt, dass keine Daten gefunden wurden. – Jimmy