2017-04-13 16 views
0

データが見つかったらグリッドビューでデータを検索しています。 ここに私の通常の検索コードがあります。ここで、一致すると、次のページのグリッド表示で結果を表示すると、テキストを編集中に入力しています。 データが見つからない場合は、データが見つからないことがわかります。 knydwfのような任意のランダム作業を入力すると、Webサービスのすべてのデータが表示されます。私が欲しいのはデータなしのトーストを示すことである。ここ は私のコード検索結果が一致しない場合は、次のページまたは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

をされます新しいActivityを開始して結果を表示します。リストが空の場合、データが見つからないというトーストが表示されます。 – Jimmy

答えて

0

が、このお試しですが見つかりました: `normlSearchList`が前に空であるかどうかを確認するために、私はあなたが探しているものだと思い

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(); 
     } 
    } 
} 
関連する問題