2 Stimmen

Android DatePicker funktioniert nicht auf Android 2.3.3

Da ich neu in der Entwicklung für Android bin, versuche ich, den DatePicker-Dialog im Android 2.3.3-Emulator anzuzeigen, aber er stürzt ab. Was fehlt mir in meinem Code? Aber dieser Code funktioniert in Android 4.0. Klasse DatePickerFragment

public class DatePickerFragment extends DialogFragment implements OnDateSetListener{

 @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        // Verwenden Sie das aktuelle Datum als Standarddatum im Picker
        final Calendar c = Calendar.getInstance();
        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH);
        int day = c.get(Calendar.DAY_OF_MONTH);

        // Erstellen Sie eine neue Instanz von DatePickerDialog und geben Sie diese zurück
        return new DatePickerDialog(getActivity(), this, year, month, day);
    }

    public void onDateSet(DatePicker view, int year, int month, int day) {
        // Tun Sie etwas mit dem vom Benutzer gewählten Datum
    }

}

Die Aktivitätsklasse, die den DatePicker-Dialog startet:

import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.DialogFragment;

import android.support.v4.app.FragmentActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;

@SuppressLint({ "NewApi", "NewApi", "NewApi" })
public class FormAnalysis extends FragmentActivity{

@Override

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fanalysis);
    //getActionBar().setDisplayHomeAsUpEnabled(true);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.fanalysis, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    //switch (item.getItemId()) {
      //  case android.R.id.home:
        //    NavUtils.navigateUpFromSameTask(this);
            return true;
    //}
    //return super.onOptionsItemSelected(item);
}

public void generate(View view){

}

public void startDialog(View view){
  DialogFragment newFragment = new DatePickerFragment();
  newFragment.show(getSupportFragmentManager(), "datePicker");
}
}

Aktualisierung Hier ist der Stack-Trace

\[2012-11-16 00:31:55 - Food Security\] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=\[android.intent.category.LAUNCHER\] cmp=kz.bimash.food.security/.Starter }
\[2012-11-16 00:31:55 - Food Security\] ActivityManager: Warnung: Aktivität nicht gestartet, ihre aktuelle Aufgabe wurde in den Vordergrund gebracht

5voto

dmason82 Punkte 399

Ihr DialogFragment-Import ist für die falsche Version der Klasse. Es muss android.support.v4.app.DialogFragment anstelle von android.app.DialogFragment sein, sonst funktioniert es nicht korrekt unter 2.3.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X