Date Calendar.set: non static method 'set(int, int, int)' cannot be referenced from a static context

  • Date Calendar.set: non static method 'set(int, int, int)' cannot be referenced from a static context

    Hey,
    ich wollte gerade in meinem Game eine Ingame Zeit einfügen. Dazu habe ich Date date oben erstellt und wollte nun den 1.1.2000 reinschreiben. Leider wird bei der Funktion Calendar.set das set unterstrichen und mit folgendem kommentiert:
    non static method 'set(int, int, int)' cannot be referenced from a static context

    Quellcode

    1. Date date;
    2. @Override
    3. protected void onCreate(Bundle savedInstanceState) {
    4. super.onCreate(savedInstanceState);
    5. setContentView(R.layout.activity_game_play);
    6. date = Calendar.set(100, 0, 0);
    7. }
    Leider habe ich nichts im Internet gefunden, was zu meiner Situation passt. Hat einer von euch eine Idee?

    MfG
    Timer
  • Hi, mit "Calendar.set(100, 0, 0)" würdest du die Zeit für den Kaklender setzen du hast aber gar kein Kalender Objekt.
    Auch die Parameter sind Falsch 0.0.100 gibt es nicht als Datum.

    non static method 'set(int, int, int)' cannot be referenced from a static context
    Wie schon gesagt du hast kein Objekt von Calendar und die Methode "set" in der Kasse ist nicht static braucht allso ein Objekt oder auch Instanz.

    final void set(int year, int month, int date)
    Sets the values for the calendar fields YEAR, MONTH, and DAY_OF_MONTH.

    Du wilst aber es in ein "Date" Objekt haben
    Date date;
    date = new Date();
    date.setYear(2000);
    date.setMonth(1);
    date.setDate(1);

    oder

    Date date;
    date = new Date(2000,1,1);

    oder

    date = new SimpleDateFormat("yyyy-MM-dd").parse("2000-01-01");


    developer.android.com/reference/java/util/Date.html
    developer.android.com/reference/java/util/Calendar.html
    Ein Feedback auf Tipps ist auch schön. :P

    Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von jogimuc ()

  • Hi habe gerade das hier gesehen.
    also

    date = new Date(2000-1900,0,1);
    musst du testen im Debugger.

    • A year y is represented by the integer y - 1900.
    • A month is represented by an integer from 0 to 11; 0 is January, 1 is February, and so forth; thus 11 is December.
    • A date (day of month) is represented by an integer from 1 to 31 in the usual manner.
    • An hour is represented by an integer from 0 to 23. Thus, the hour from midnight to 1 a.m. is hour 0, and the hour from noon to 1 p.m. is hour 12.
    • A minute is represented by an integer from 0 to 59 in the usual manner.
    Ein Feedback auf Tipps ist auch schön. :P

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von jogimuc ()