2017-07-07 51 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