現在、RemindersDAO.java と ViewLocalReminders.java の 2 つのクラスがあります。
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 に対して取得している出力です。
- セッターのリマインダー ID 値: 16
- Getter のリマインダー ID 値: 0
- RemindersDAO のリマインダー ID 値: 0
明らかに、setter メソッドと getter メソッドの間で何かが起こっています。セッター メソッドでは、reminderID の値は 16 です。ただし、getter メソッドでは値が 0 になります。したがって、RemindersDAO.java で getter メソッドを呼び出すと、値は 0 のままです。ここで何が間違っていますか?ご協力いただきありがとうございます!:)