Getter i Settery nie działają?
Mam teraz dwie klasy: RemindersDAO.java i ViewLocalReminders.java.
Próbuję uzyskać dostęp do zmiennej, która jest w ViewLocalReminders.java i próbuję ją wywołać z RemindersDAO.java. Robię to za pomocą kombi getter / setter. Jednak z jakiegoś powodu moja wartość zmiennej jest ustawiana na 0 w metodzie getter. Oto kod:
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);
}
}
RemindersDAO.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);
}
}
To jest wynik, który otrzymuję dla wszystkich moich System.out.printlns:
Wartość ID przypomnienia w Seterze: 16Wartość ID przypomnienia w Getter: 0Wartość ID przypomnienia w PrzypomnieniaDAO: 0Oczywiście, coś się dzieje między metodami setter i getter. Wartość reminderID wynosi 16 w metodzie ustawiającej, tak jak powinno być. Jednak wartość ta wynosi 0 w metodzie getter. W konsekwencji wartość nadal wynosi 0, gdy wywołam metodę getter w RemindersDAO.java. Co ja tu robię źle? Dzięki za pomoc! :)