小编典典

Getter和Setters不起作用?

java

我现在有两个类: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的输出:

  1. 设置器中的提醒ID值:16
  2. Getter的提醒ID值:0
  3. 提醒DAO中的提醒ID值:0

很明显,在setter和getter方法之间发生了某些事情。在setter方法中,hinterID的值应为16。但是,在getter方法中该值变为0。因此,当我在RemindersDAO.java中调用getter方法时,该值仍为0。我在这里做错了什么?谢谢你的帮助!:)


阅读 396

收藏
2020-11-30

共1个答案

小编典典

谢谢大家的帮助。即使我遵循了你们所有人的建议,我也无法弄清楚为什么我的吸气器和装夹器不起作用。我猜想这与将hinterID用作构造函数的参数有关。无论哪种方式,我都使用Android的Bundle解决了我的问题,并通过该方法将变量从一个活动转移到另一个活动。

再次感谢您的所有帮助!:)

2020-11-30