我现在有两个类:RemindersDAO.java 和 ViewLocalReminders.java。
我正在尝试访问 ViewLocalReminders.java 中的变量,并尝试从 RemindersDAO.java 中调用它。我通过使用 getter/setter 方法组合来完成此操作。然而,由于某种原因,我的变量值在 getter 方法中不断被设置为 0。这是代码:
ViewLocalReminders.java
public class ViewLocalReminders extends SherlockListActivity {
private long reminderID;
public void onCreate(Bundle SavedInstance) {
reminderID = 16;
setReminderID(reminderID);
}
public void setReminderID(long id) {
id = reminderID;
System.out.println("Reminder ID Value in Setter: " + reminderID);
}
public long getReminderID() {
return reminderID;
System.out.println("Reminder ID Value in Getter: " + reminderID);
}
}
提醒DAO.java
public class RemindersDAO extends SQLiteOpenHelper {
@SuppressWarnings("deprecation")
public Cursor getRowByID(Activity activity) {
String[] from = { _ID, NAME };
ViewLocalReminders viewLocalReminders = new ViewLocalReminders();
long reminderID = viewLocalReminders.getReminderID();
System.out.println("Value of Reminder ID in RemindersDAO: " + reminderID);
}
}
这是我为所有 System.out.println 获得的输出:
- Setter 中的提醒 ID 值:16
- Getter 中的提醒 ID 值:0
- RemindersDAO 中的提醒 ID 值:0
显然,setter 和 getter 方法之间发生了一些事情。 setter方法中reminderID的值为16,这是应该的。然而,在 getter 方法中该值变为 0。因此,当我调用 RemindersDAO.java 中的 getter 方法时,该值仍然是 0。我在这里做错了什么?感谢您的帮助! :)
here:
public void setReminderID(long id) {
id = reminderID; //<-- wrong, should be the other way around
System.out.println("Reminder ID Value in Setter: " + reminderID);
}
你应该使用reminderID = id
instead
Also:
public void onCreate(Bundle SavedInstance) {
reminderID = 16; //one of these two lines..
setReminderID(reminderID); //..should do it
}
无需设置reminderId
twice
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)