2017-04-13 1 views
0

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(); 
     } 
    } 
} 
+0

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

Antwort

0

Try this:

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); 
// check if you have success for the search    
if(jsonobject.has ("success")){ 
      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); 

      } 
} else{ 
Toast.makeText(getActivity(), "Data Not Found", 
    Toast.LENGTH_LONG).show(); 
} 

     }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(); 
     } 
    } 
} 
Verwandte Themen