2016-07-29 18 views
0

我試圖從JSON獲取數據,並在android.This TextView中顯示它是我剛纔的問題:Display Student details in text view after validation in android這是我在IMEI_Val.java代碼:顯示JSON結果在有效的用戶輸入後,另一個活動

@Override 
      protected void onPreExecute() { 
       super.onPreExecute(); 
       loading = ProgressDialog.show(IMEI_Val.this,"Please Wait",null,true,true); 
      } 
    @Override 
       protected void onPostExecute(String s) { 
        super.onPostExecute(s); 
        loading.dismiss(); 
        if(s.contains("Success")){ 
         Intent i = new Intent(IMEI_Val.this, CapturePhoto.class); 
         try { 

          JSONObject responseObject = new JSONObject(); 
          JSONArray canData = responseObject.getJSONArray("can_data"); 
          JSONObject canDataJSONObject = canData.getJSONObject(0); 
          String name = canDataJSONObject.getString("name"); 
          String father_name = canDataJSONObject.getString("father_name"); 
          String sex = canDataJSONObject.getString("sex"); 
          i.putExtra("name",name); 
          i.putExtra("father_name",father_name); 
          i.putExtra("sex",sex); 
          startActivity(i); 

         } catch (JSONException e) { 
          e.printStackTrace(); 
         } 

        } 
        else{ 
         Toast.makeText(IMEI_Val.this, s, Toast.LENGTH_LONG).show(); 
         Log.d("Tag Name", "Log Message"); 
        } 
       } 

這是我的另一項活動,我想顯示細節:

private void getData() { 
     textNameVal=(TextView)findViewById(R.id.textNameVal); 
     textYearVal=(TextView)findViewById(R.id.textYearVal); 
     String name = getIntent().getStringExtra("name"); 
     String father_name = getIntent().getStringExtra("father_name"); 
     String sex = getIntent().getStringExtra("sex"); 

     textNameVal.setText("Candidate Name:\t" + name); 
     textYearVal.setText("SEX:\t" + sex); 
     textParentVal.setText("Father's NAme:\t" + father_name); 


    } 

當我運行這段代碼,如果我進入它不會CapturePhoto.class有效輸入。任何人都可以幫助我解決問題。對於錯誤的輸入,它會在烤麪包上顯示「不存在」的信息。但是對於有效的輸入,它僅顯示對話爲「請稍等」,並且不會再接下來活動。

+0

嘗試更改'JSONObject responseObject = new JSONObject();'到'JSONObject responseObject = new JSONObject(s);' –

+0

引起:java.lang.NullPointerException:嘗試調用虛擬方法'void android.widget.TextView。在com.example.user.studenttechweb.CapturePhoto.getData(CapturePhoto.java:218)的空對象引用上的setText(java.lang.CharSequence)'我得到這個錯誤,如果我把它。 – user6588225

+0

您在第二個活動中沒有初始化'textParentVal'。 –

回答

0

你onPostExecute會拋出JSONExeption

protected void onPostExecute(String s) { 
       super.onPostExecute(s); 
       loading.dismiss(); 
       if(s.contains("Success")){ 
        Intent i = new Intent(IMEI_Val.this, CapturePhoto.class); 
        try { 

         JSONObject responseObject = new JSONObject(); 
         JSONArray canData = responseObject.getJSONArray("can_data"); 
         JSONObject canDataJSONObject = canData.getJSONObject(0); 
         String name = canDataJSONObject.getString("name"); 
         String father_name = canDataJSONObject.getString("father_name"); 
         String sex = canDataJSONObject.getString("sex"); 
         i.putExtra("name",name); 
         i.putExtra("father_name",father_name); 
         i.putExtra("sex",sex); 
         startActivity(i); 

        } catch (JSONException e) { 
         e.printStackTrace(); 
        } 

       } 
       else{ 
        Toast.makeText(IMEI_Val.this, s, Toast.LENGTH_LONG).show(); 
        Log.d("Tag Name", "Log Message"); 
       } 
      } 

responseObject=new JSONObject();

創建一個新的空對象,但需要

responseObject=new JSONObject(s);

然後我t將具有來自響應的值。

-1

儘量把意圖內嘗試{}塊

+0

我得到了這個exeption:導致:java.lang.NullPointerException:試圖調用虛函數'void android.widget.TextView.setText(java.lang.CharSequence)'null對象參考 at com.example.user.studenttechweb.CapturePhoto.getData(CapturePhoto.java:218) at com.example.user.studenttechweb.CapturePhoto.onCreate(CapturePhoto.java:69) – user6588225

+0

name,father name and sex are在第一次活動中發現可以記錄這? –

相關問題