Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在OnClickListener中调用方法,而方法中的变量(Fajr)在调用时变为null_Java_Android - Fatal编程技术网

Java 如何在OnClickListener中调用方法,而方法中的变量(Fajr)在调用时变为null

Java 如何在OnClickListener中调用方法,而方法中的变量(Fajr)在调用时变为null,java,android,Java,Android,在我的听众中: private Button mPrayerTime; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mPrayerTime = (Button)findViewById(R.id.muteButton); mPray

在我的听众中:

private Button mPrayerTime;

@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) {
               cityModel cityObj= new cityModel();
                String fajr=cityObj.getFajr();
            Log.d("Fajr", ""+fajr);
        }
    });
}
我调用一个名为cityModel的方法,可以在这里找到

   public final class cityModel implements Serializable {
    private String fajr;



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

    }
    public String getFajr() {

        return fajr;
    }
}
它从以下位置检索set.Fajr:

     protected void outputTimings(JSONArray jsonArray) {
        String[] prayers = {"fajr", "shurooq", "dhuhr", "asr", "maghrib", "isha"};
        final 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"));


            }
受保护的无效输出(JSONArray JSONArray){
字符串[]祈祷={“法伊尔”、“舒鲁克”、“杜赫”、“阿斯尔”、“马格里布”、“伊莎”};
最终城市模型城市北京;
试一试{
cityObj=新城市模型();
for(int i=0;i

当我尝试调试时,我发现cityModel找到fajr的值并将其存储得很好,因此问题似乎在于如何调用该方法,因为每当我在logcat中查找标签fajr时,它都显示为null。

请避免使用“变量”这一措辞因为这会使您的问题更难理解。相反,请写下特定变量的名称,该变量为null。这个问题需要大量的重读才能弄清楚您在问什么。您正在创建一个对象的新实例,并使用getter方法传递一个字符串。@Elliott编辑了它。@sarthakGandhi正是如此。所以我在不创建新实例的情况下调用该方法吗?使用成员变量