0
我正在使用一个类别&界面来计算/更新日期&时间。在Android OS版本2.2及更高版本上更新背景上的日期和时间时出现异常
接口:
public interface CListener {
public void updateClock(String date, String time);
}
类:
public class CManager {
private CListener mListener = null;
private static Timer mTimer = null;
private static String mDateData = "";
private static String mTimeData = "";
private static CManager _instance = null;
private CManager() {
if (mTimer == null) {
mTimer = new Timer();
mTimer.schedule(new TimerTask() {
@Override
public void run() {
updateTime();
}
}, 0, 1000);
}
}
public static CManager getInstance() {
if(_instance == null) {
_instance = new CManager();
}
return _instance;
}
public void setClockListener(ClockListener listener) {
this.mListener = listener;
}
public void updateTime() {
Date d = new Date();
// Calculating the date , month ,day ,hr ,min from Date d
mListener.updateClock(mDateData, mTimeData);
// mDateData -> Calculated combined Date
// mTimeData -> Calculated combined time
}
public String getDate() {
return mDateData;
}
public String getTime() {
return mTimeData;
}
}
我从一个活动
public class SampleActivity extends Activity{
private CManager mCManager = null;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mCManager = CManager.getInstance();
}
调用CManager类0
上述代码工作正常&更新日期&时间与Android操作系统版本1.6到2.1。
但是,相同的代码给Android 2.2版的以下错误。上面的&。
04-08 03:57:39.269: ERROR/AndroidRuntime(419): FATAL EXCEPTION: Timer-0
04-08 03:57:39.269: ERROR/AndroidRuntime(419): java.lang.NullPointerException
04-08 03:57:39.269: ERROR/AndroidRuntime(419): at com.app.CManager.updateTime(CManager.java:144)
04-08 03:57:39.269: ERROR/AndroidRuntime(419): at com.app.CManager$1.run(CManager.java:54)
04-08 03:57:39.269: ERROR/AndroidRuntime(419): at java.util.Timer$TimerImpl.run(Timer.java:284)
04-08 03:57:39.301: WARN/ActivityManager(70): Force finishing activity com.app/.SampleActivity
问题的可能原因是什么? 是否有任何替代/解决此问题。
请提供您的输入/示例代码。
在此先感谢。
亲切问候,
CB