La méthode 'getSupportFragmentManager ()' n'est pas distribuée
J'essaye d'activer le datepicker pour les versions d'android soufflet 11. pour cela, je suis en utilisant le support de la bibliothèque v4. - Je importer toutes les choses nécessaires:
import android.support.v4.app.*;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.app.DialogFragment;
Et j'ai créé une classe:
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.widget.EditText;
public class DatePicker extends DialogFragment implements DatePickerDialog.OnDateSetListener {
public EditText textField;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
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);
return new DatePickerDialog(getActivity(), this, year, month, day);
}
public EditText getTextField() {
return textField;
}
public void setTextField(EditText textField) {
this.textField = textField;
}
public void onDateSet(DatePicker view, int year, int month, int day) {
textField.setText(day+"."+(month+1)+"."+year);
}
@Override
public void onDateSet(android.widget.DatePicker arg0, int arg1, int arg2,int arg3) {
textField.setText(arg3+"."+(arg2+1)+"."+arg1);
}
}
Sorte de classe de la compilation ok. Mais le problème est que lorsque j'essaie de l'utiliser. J'ai un onclick méthode pour edittext qui ressemble à ça:
public void showDatePicker(View v) {
DialogFragment selectDate = (DialogFragment) new DatePicker();
EditText edit=(EditText)v;
((DatePicker) selectDate).setTextField(edit);
selectDate.show(getSupportFragmentManager(), "datePicker");
}
cependant dans la dernière ligne j'obtiens l'erreur:
The method getSupportFragmentManager() is undefined for the type MainActivity
Toutes les idées sur la façon de résoudre? btw, je n'ai pas importé quelque chose comme
android.app.Fragment;
Si ce n'est pas le cas ici :S
source d'informationauteur gabrjan
Vous devez vous connecter pour publier un commentaire.
Ma conjecture est que votre
MainActivity
n'est pas l'extension deFragmentActivity
! Dans le SupportPackage une Activité doit hériter de FragmentActivity pour obtenir des Méthodes commegetSupportedFragmentManager()
.EDIT:
Depuis votre Activité est hériter d'une autre classe, vous pouvez essayer de mettre en œuvre le Comportement de l'une de ces classes et le type de fusion. I. e vous trouverez ici le code pour FragmentActivity:
FragmentActivity Source