Java 在onClick中调用公共类
我有一个onClick事件:Java 在onClick中调用公共类,java,android,Java,Android,我有一个onClick事件: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mPrayerTime = (Button)findViewById(R.id.muteButton); mPrayerTime.setOnClickLi
@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
}
});
我想调用这个类(特别是获取fajr变量,而不会像在onClick中实例化一个新的cityModel那样返回null):
该类从后面的类中获取字符串,以防万一:
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();
}
}
受保护的无效输出(JSONArray JSONArray){
字符串[]祈祷={“法伊尔”、“舒鲁克”、“杜赫”、“阿斯尔”、“马格里布”、“伊莎”};
城市模型城市北京;
试一试{
cityObj=新城市模型();
for(int i=0;i
将变量设为final,然后可以从setOnClickListener访问它。变量?你的意思是将课程设置为最终课程吗?你的cityModel cityObj应该是最终添加到cityModel cityObj前面的最终课程;但它仍然返回空值。你能帮我修复这个吗?@Fencer300我想我们在这里遗漏了一些东西-cityObj是什么时候创建的?您的onClick没有它(只有注释),因此很难看到它是否被正确创建。请更新术语的整个流程,不要调用类,而是调用方法。
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();
}
}