2017-07-07 28 views
0

公共類我有一個onClick事件:在調用的onClick

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    mPrayerTime = (Button)findViewById(R.id.muteButton); 
    mPrayerTime.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      //call CityModelHere 
     } 
    }); 

,我想調用這個類(特別獲得晨變量沒有它返回null作爲它,如果我實例化一個新的cityModel的的onClick):

public class cityModel implements Serializable { 
    private String fajr; 



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

    } 
    public String getFajr() { 

     return fajr; 
    } 
} 

類需要從更高類的字符串這裏以防萬一:

 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")); 


      } 

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

    } 
+0

術語學點,你不叫類,你調用方法。 –

回答

0

使您的變量成爲final,然後您可以從setOnClickListener中訪問它。

+0

變量?你的意思是把課程設置爲最終的? – Fencer300

+0

您的城市模型cityObj應該是最後的 – ronhash

+0

我在cityModel cityObj前增加了最後的決定;但它仍然返回null – Fencer300