1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. Otmar_Schramm, 04.03.2012 #1
    Otmar_Schramm

    Otmar_Schramm Threadstarter Neuer Benutzer

    Hallo,
    ich beschäftige mich gerade mit dem Android für Dummies....
    Beim Terminplaner streikt das Programm beim DatePickerDialog.
    Die App stürzt immer ab beim Klick auf ein showDatePicker-Button

    Code:
    private DatePickerDialog showDatePicker() {
             DatePickerDialog datePicker = new DatePickerDialog(ReminderEditActivity.this, new DatePickerDialog.OnDateSetListener() {
                @Override
                public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
                    mCalendar.set(Calendar.YEAR, year);
                    mCalendar.set(Calendar.MONTH, monthOfYear);
                    mCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
                    updateDateButtonText();
                }
            }, mCalendar.get(Calendar.YEAR), mCalendar.get(Calendar.MONTH), mCalendar.get(Calendar.DAY_OF_MONTH));
            return datePicker; 
        }
    
    
    
    Danke für Infos
     
  2. snowman2, 04.03.2012 #2
    snowman2

    snowman2 Erfahrener Benutzer

    Was sagt den LogCat dazu?
     
  3. Otmar_Schramm, 04.03.2012 #3
    Otmar_Schramm

    Otmar_Schramm Threadstarter Neuer Benutzer

    Nun die erste Error Meldung ist eine
    NullPointerException und lautet:
    03-04 19:32:42.200: E/AndroidRuntime(23712): at de.otmar.terminplaner.ReminderEditActivity.showDatePicker(ReminderEditActivity.java:83

    Sie verzweigt auf die Zeile
    Code:
        }, mCalendar.get(Calendar.YEAR), mCalendar.get(Calendar.MONTH), mCalendar.get(Calendar.DAY_OF_MONTH));
    
    aus dem Quellcode.
     
  4. swordi, 04.03.2012 #4
    swordi

    swordi Gewerbliches Mitglied

    und dein mcalendar ist initialisiert ? woher kommt der denn ?
     
  5. Otmar_Schramm, 04.03.2012 #5
    Otmar_Schramm

    Otmar_Schramm Threadstarter Neuer Benutzer

    er kommt aus der gleichen Klasse mit:

    Code:
    private Calendar mCalendar;
    
    private static final String DATE_FORMAT = "dd.mm.yyyy";
    private static final String TIME_FORMAT = "kk:mm";
    
    
     
  6. Otmar_Schramm, 04.03.2012 #6
    Otmar_Schramm

    Otmar_Schramm Threadstarter Neuer Benutzer

    Hier mal der komplette Code:

    Code:
    package de.otmar.terminplaner;
    
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    
    import android.app.Activity;
    import android.app.DatePickerDialog;
    import android.app.Dialog;
    import android.app.TimePickerDialog;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.DatePicker;
    import android.widget.TimePicker;
    
    public class ReminderEditActivity extends Activity {
        private Button mDateButton;
        private Button mTimeButton;
        private static final int DATE_PICKER_DIALOG = 0;
        private static final int TIME_PICKER_DIALOG = 1;
        private Calendar mCalendar;
        private static final String DATE_FORMAT = "dd.mm.yyyy";
        private static final String TIME_FORMAT = "kk:mm";
        
        
        
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.reminder_edit);
            mDateButton = (Button) findViewById(R.id.reminder_date);
            mTimeButton = (Button) findViewById(R.id.reminder_time);
            
            if(getIntent() != null) {
                Bundle extras = getIntent().getExtras();
                int rowId = extras != null ? extras.getInt("RowId") : -1;
                //row hier verarbeiten
            }
            registerButtonListenersAndSetDefaultText();
            
        }
    
        private void registerButtonListenersAndSetDefaultText() {
            // TODO Auto-generated method stub
            mDateButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    showDialog(DATE_PICKER_DIALOG);
                }
            });
            
            mTimeButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    showDialog(TIME_PICKER_DIALOG);
                }
            });
            updateDateButtonText();
            updateTimeButtonText();
        }
        
        @Override
        protected Dialog onCreateDialog(int id) {
            switch(id) {
            case DATE_PICKER_DIALOG:
                return showDatePicker();
            case TIME_PICKER_DIALOG:
                return showTimePicker();
            }
            return super.onCreateDialog(id);
        }
    
        private DatePickerDialog showDatePicker() {
             DatePickerDialog datePicker = new DatePickerDialog(ReminderEditActivity.this, new DatePickerDialog.OnDateSetListener() {
                @Override
                public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
                    mCalendar.set(Calendar.YEAR, year);
                    mCalendar.set(Calendar.MONTH, monthOfYear);
                    mCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
                    updateDateButtonText();
                }
            }, mCalendar.get(Calendar.YEAR), mCalendar.get(Calendar.MONTH), mCalendar.get(Calendar.DAY_OF_MONTH));
            return datePicker; 
        }
        private void updateDateButtonText() {
            SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT);
            String dateForButton = dateFormat.format(mCalendar.getTime());
            mDateButton.setText(dateForButton);
        }
        
        private TimePickerDialog showTimePicker() {
            TimePickerDialog timePicker = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
                
                @Override
                public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                    // TODO Auto-generated method stub
                    mCalendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
                    mCalendar.set(Calendar.MINUTE, minute);
                    updateTimeButtonText();
                    
                }
            }, mCalendar.get(Calendar.HOUR_OF_DAY), mCalendar.get(Calendar.MINUTE), true);
            return timePicker;
        }
    
        
        private void updateTimeButtonText() {
            // TODO Auto-generated method stub
            SimpleDateFormat timeFormat = new SimpleDateFormat(TIME_FORMAT);
            String timeForButton = timeFormat.format(mCalendar.getTime());
            mTimeButton.setText(timeForButton);
        }
    
    }
    
    
     
  7. snowman2, 04.03.2012 #7
    snowman2

    snowman2 Erfahrener Benutzer

    Ich hätte irgendwo ein "mCalendar = new Calendar();" erwartet.
     
    Zuletzt bearbeitet: 04.03.2012
    swordi gefällt das.
  8. Otmar_Schramm, 06.03.2012 #8
    Otmar_Schramm

    Otmar_Schramm Threadstarter Neuer Benutzer

    Der fehlende Code war:

    mCalendar = Calendar.getInstance();

    danke euch!!
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[Offen] Android Layout funktioniert nicht Android App Entwicklung 08.09.2017
[OFFEN] Activity als Dialog - RecyclerView funktioniert nicht mehr Android App Entwicklung 14.08.2017
[GESCHLOSSEN] Random ListItem ausgeben funktioniert nicht mehr Android App Entwicklung 13.08.2017
[OFFEN] SVN Commit in Android Studio funktioniert nicht mehr Android App Entwicklung 07.08.2017
[OFFEN] Bitmap.recycle funktioniert nach drawBitmap nicht Android App Entwicklung 18.07.2017
[OFFEN] DatePickerDialog Kalenderansicht unvollständig Android App Entwicklung 11.07.2017
[OFFEN] Google-Spracherkennung funktioniert nicht im Tablayout Android App Entwicklung 20.04.2017
[ERLEDIGT] TextView text "Heute ist der dd.MM.yyyy" funktioniert überhaupt nicht Android App Entwicklung 08.03.2017
Excel Dokument mithilfe von JExcelAPI auslesen funktioniert nicht :/ Android App Entwicklung 02.03.2017
adb starten funktioniert nicht Android App Entwicklung 25.02.2017

Users found this page by searching for:

  1. datepicker funktioniert nicht android

    ,
  2. Date picker funktioniert nicht

    ,
  3. set dateformat funktioniert nicht

Du betrachtest das Thema "DatePickerDialog funktioniert nicht" im Forum "Android App Entwicklung",