2016-07-21 6 views
-1

パラメータの結果がnullの場合、応答がNULLのときにアプリケーションがクラッシュする可能性があるため、警告/トーストを表示する方法を示します。あなたは本当にGoogleでこれを見つけるかもしれないレスポンスがNULLのときに警告/トーストを表示する方法

org.json.JSONException: Value null of type org.json.JSONObject$1 cannot be converted to JSONObject 
07-21 17:01:16.057 17179-17289/com.example.vari.new_varri W/System.err:  at org.json.JSON.typeMismatch(JSON.java:111) 
07-21 17:01:16.057 17179-17289/com.example.vari.new_varri W/System.err:  at org.json.JSONObject.<init>(JSONObject.java:160) 
07-21 17:01:16.057 17179-17289/com.example.vari.new_varri W/System.err:  at org.json.JSONObject.<init>(JSONObject.java:173) 
07-21 17:01:16.057 17179-17289/com.example.vari.new_varri W/System.err:  at com.example.vari.new_varri.Order_Pending$BackTask.doInBackground(Order_Pending.java:579) 
07-21 17:01:16.058 17179-17289/com.example.vari.new_varri W/System.err:  at com.example.vari.new_varri.Order_Pending$BackTask.doInBackground(Order_Pending.java:538) 
07-21 17:01:16.058 17179-17289/com.example.vari.new_varri W/System.err:  at android.os.AsyncTask$2.call(AsyncTask.java:295) 
07-21 17:01:16.058 17179-17289/com.example.vari.new_varri W/System.err:  at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
07-21 17:01:16.058 17179-17289/com.example.vari.new_varri W/System.err:  at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) 
07-21 17:01:16.058 17179-17289/com.example.vari.new_varri W/System.err:  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 
07-21 17:01:16.058 17179-17289/com.example.vari.new_varri W/System.err:  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 
07-21 17:01:16.058 17179-17289/com.example.vari.new_varri W/System.err:  at java.lang.Thread.run(Thread.java:818) 
+0

メソッドを呼び出す完全なメソッドとコードを投稿できますか?また、logcat出力にcrashlogを入力してください。 – babadaba

+0

あなたが '.show() 'を見逃している可能性があります。 –

答えて

1

if(ReceivedVal == null) 
{ 
    Toast.makeText(context, "Null value Received..", Toast.LENGTH_SHORT).show(); 
    Log.i("NULL" , "Null value received"); 
} 

EDIT 1、これを試してください:あなたはでチェックできるように

runOnUiThread(new Runnable() { 

        @Override 
        public void run() { 
         // TODO Auto-generated method stub 
         Toast.makeText(context, "Null value Received..", Toast.LENGTH_SHORT).show(); 
        } 
       }); 

EDIT 2

あなたresult変数がStringでありますas、

+0

トーストが表示されない@Sathish bro – AndroidBoy

+0

編集済みの回答を使用しよう –

+0

チェックログが印刷されているかどうか –

1

:私はこの事を避けたいので、私はこのmeans.Iなたを持っていることはLOGCAT

private class BackTask extends AsyncTask<Void,Void,Void> { 
    ArrayList<String> list; 
    protected void onPreExecute(){ 
     super.onPreExecute(); 
     list=new ArrayList<>(); 
    } 
    protected Void doInBackground(Void...params){ 
     InputStream is=null; 
     String result=""; 
     try{ 
      HttpClient httpclient=new DefaultHttpClient(); 
      HttpPost httppost= new HttpPost("http://IP/web/getOrderPendCusname.php"); 
      HttpResponse response=httpclient.execute(httppost); 
      HttpEntity entity = response.getEntity(); 
      // Get our response as a String. 
      is = entity.getContent(); 
      System.out.println(is); 
     }catch(IOException e){ 
      e.printStackTrace(); 
     } 

     //convert response to string 
     try{ 
      BufferedReader reader = new BufferedReader(new InputStreamReader(is,"utf-8")); 
      String line = null; 
      while ((line = reader.readLine()) != null) { 
       result+=line; 
      } 
      is.close(); 
      //result=sb.toString(); 
     }catch(Exception e){ 
      e.printStackTrace(); 
     } 
     // parse json data 
     try{ 
      JSONObject object = new JSONObject(result); 
      JSONArray jArray = object.getJSONArray("Cus_name"); 
      //JSONArray jArray =new JSONArray(result); 
      for (int i = 0; i < jArray.length(); i++) { 
       JSONObject jsonObject = jArray.getJSONObject(i); 
       // add interviewee name to arraylist 
       list.add(jsonObject.getString("Cus_name")); 
      } 
     } 
     catch(JSONException e){ 
      e.printStackTrace(); 
     } 
     return null; 
    } 
    protected void onPostExecute(Void result){ 
     listItems.addAll(list); 
     adapter.notifyDataSetChanged(); 
    } 
} 

(クラッシュした)NULL値問題を考えます。

if(IDontKnowWhatValue == null){ 
    Toast.makeText(context, "MyMessage", Toast.LENGTH_SHORT).show(); 
} 
+0

はい、私はtryブロックの中で試しましたが、成功しませんでした。 JSONArray jArray = object.getJSONArray( "Cus_name");} – AndroidBoy

関連する問題