我在获取arraylist值时遇到问题。 我在azan.java类中有一个方法,它计算祷告计时并将其存储在像这样的arrayList中。
ArrayList prayerTimes = prayers.getPrayerTimes(cal, latitude,
longitude, timezone);
我希望在重复一分钟之后将这些时间与系统时间相匹配,这就是为什么我创建了一个aysncTask
课程,但是我无法在asyncTask
课程中获得那些prayTimes的值,我我正在使用这种方法
if(systemTime.equals(azan.prayerTimes.get(0))){
player.start;
}else if (systemTime.equals(azan.prayerTimes.get(1))){
player2.start;
}
当我调试它时,azan.prayerTimes.get(0)))
数组不存储任何内容。它显示大小0和值也为0,我得到线程池执行错误..
任何人都可以帮助我
答案 0 :(得分:0)
将ArrayList prayerTimes
声明为全局变量。
Class Ajan{
ArrayList prayerTimes;
yourMethod(){
prayerTimes = prayers.getPrayerTimes(cal, latitude,
longitude, timezone);
}
Class YourAsyncTask {
}
}
答案 1 :(得分:0)
尝试在 Azan.java 类:
中添加这些方法class Azan {
ArrayList prayerTimes = new ArrayList();
// assign method variables as yours.
public void setPrayerTimes(Object cal, int latitude, int longitude, String timezon) {
prayerTimes = prayers.getPrayerTimes(cal, latitude, longitude, timezone);
}
public ArrayList getPrayerTimes() {
return prayerTimes;
}
}