我现在有两个类: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.printlns的输出:
很明显,在setter和getter方法之间发生了某些事情。在setter方法中,hinterID的值应为16。但是,在getter方法中该值变为0。因此,当我在RemindersDAO.java中调用getter方法时,该值仍为0。我在这里做错了什么?谢谢你的帮助!:)
谢谢大家的帮助。即使我遵循了你们所有人的建议,我也无法弄清楚为什么我的吸气器和装夹器不起作用。我猜想这与将hinterID用作构造函数的参数有关。无论哪种方式,我都使用Android的Bundle解决了我的问题,并通过该方法将变量从一个活动转移到另一个活动。
再次感谢您的所有帮助!:)