2017-07-04 46 views
0

我有一個bean類,它成功地檢索從另一個類的字符串值。=(它打印出它就好了bean類內)在Bean類調用字符串返回NULL

當我嘗試並調用該類/串它返回爲null。

下面是相關代碼:

public class cityModel implements Serializable { 
    private String fajr; 

    public void setFajr(String fajr) { 
     this.fajr= fajr; 

    } 
    public String getFajr() { 

     return fajr; 
    } 
} 
public void mutePrayerTime(View view) { 
    cityModel cityObj= new cityModel(); 
    String fajr=cityObj.getFajr(); 
    Log.d("LOGCAT", "" + cityObj.getFajr()); 

    //StringBuilder newFajr = new StringBuilder(fajr); 
    //newFajr.delete(2,5); 
    //Log.d("newFajr", String.valueOf(newFajr)); 
    // Intent alarm = new Intent(AlarmClock.ACTION_SET_ALARM); 

    //alarm.putExtra(AlarmClock.EXTRA_HOUR, fajr); 

} 

的Log.d標籤logcat的返回爲空

編輯:

protected void outputTimings(JSONArray jsonArray) { 
     String[] prayers = {"fajr", "shurooq", "dhuhr", "asr", "maghrib", "isha"}; 
     cityModel cityObj; 
     try { 
      cityObj= new cityModel(); 
      for (int i = 0; i < jsonArray.length(); i++) { 
       JSONObject cityObject = 
         jsonArray.getJSONObject(i); 
       result = result + "fajr" + " : " 
         + cityObject.getString("fajr") + "\n" + result + "shurooq" + " : " 
         + cityObject.getString("shurooq") + "\n" + result + "dhuhr" + " : " 
         + cityObject.getString("dhuhr") + "\n" + result + "asr" + " : " 
         + cityObject.getString("asr") + "\n" + result + "maghrib" + " : " 
         + cityObject.getString("maghrib") + "\n" + result + "isha" + " : " 
         + cityObject.getString("isha") + "\n"; 

       cityObj.setFajr(""+cityObject.getString("fajr")); 


      } 
+0

看起來不像上面的代碼,甚至會編譯。 'fajr'是一個String,你試圖調用它,就好像它是'fajr()'的方法一樣。你是否也有一個同名的方法?發佈其代碼。 – Strelok

+0

它編譯並運行。我將代碼添加到主文章 – Fencer300

+0

發佈定義了'mutePrayerTime'方法的類的完整代碼。 – Strelok

回答

1

:該bean類從檢索串 代碼看看這個方法:

public void mutePrayerTime(View view) { 
    cityModel cityObj= new cityModel(); 
    String fajr=cityObj.getFajr(); 
    Log.d("LOGCAT", "" + cityObj.getFajr()); 

    //StringBuilder newFajr = new StringBuilder(fajr); 
    //newFajr.delete(2,5); 
    //Log.d("newFajr", String.valueOf(newFajr)); 
    // Intent alarm = new Intent(AlarmClock.ACTION_SET_ALARM); 

    //alarm.putExtra(AlarmClock.EXTRA_HOUR, fajr); 

} 

您剛剛創建了cityObj,就像這個cityModel cityObj= new cityModel();那時它的所有屬性都是null這就是爲什麼你在日誌中看到null的原因。你應該從你outputTimings方法傳遞cityObjmutePrayerTime方法:

public void mutePrayerTime(View view,cityModel cityObj) { 
    Log.d("LOGCAT", "" + cityObj.getFajr()); 

    //StringBuilder newFajr = new StringBuilder(fajr); 
    //newFajr.delete(2,5); 
    //Log.d("newFajr", String.valueOf(newFajr)); 
    // Intent alarm = new Intent(AlarmClock.ACTION_SET_ALARM); 

    //alarm.putExtra(AlarmClock.EXTRA_HOUR, fajr); 

} 

,然後在outputTimings

cityObj.setFajr(""+cityObject.getString("fajr")); 
someObj.mutePrayerTime(view, cityObj); 
+0

啊!更有意義。謝謝! – Fencer300

+0

只是所以我可以更好地理解,whats第二個obj在outputTimings中的目的以及在哪裏/如何定義? – Fencer300

+0

這就是你的'mutePrayerTimings'方法所在。 @ Fencer300 – Strelok

相關問題