alsgeht Mein Code in BaseAdapter Mit picker in BaseAdapter für ein Fragment
date.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
((Fragment)UserRequests.this.context).showDialog(999);//Error
}
});
folgt eine Datumsauswahl zeigen, dass wir den Code unten
protected Dialog onCreateDialog(int id) {
// TODO Auto-generated method stub
if (id == 999) {
return new DatePickerDialog(context, myDateListener, year, month, day);
}
return null;
}
private DatePickerDialog.OnDateSetListener myDateListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker arg0, int arg1, int arg2, int arg3) {
// TODO Auto-generated method stub
// arg1 = year
// arg2 = month
// arg3 = day
showDate(arg1, arg2+1, arg3);
}
};
private void showDate(int year, int month, int day) {
date.setText(new StringBuilder().append(day).append("/")
.append(month).append("/").append(year));
}
Ich habe zwei Probleme mit diesem Code benötigen. Als erstes möchte ich einen Datepicker in einem Fragment namens UserRequests anzeigen. Was ich nicht kann. Ich habe es wie folgt versucht.
Zweitens ist eine Warnung, dass onCreateDialog Methode nie verwendet wird. Bitte erkläre mich. Wie man das löst. Danke im Voraus.
Eine Klasse mit dem Namen FeedListAdapter erstreckt BaseAdapter und UserRequest ist eine Klasse, das Fragment erstreckt. Von der BaseAdapter-Klasse muss ich den DatePicker in UserRequest Fragment erhalten. Und noch eine Frage können wir Bundle in der Klasse BaseAdapter erweitern. – Karrthik
Sie können eine andere Klasse (zB DatePickerFragment) in UserRequest erstellen, die DialogFragment erweitert. Innerhalb von showDialog können Sie eine Instanz von DatePickerFragment erstellen und verwenden. Bündel wird nicht vom BaseAdapter übergeben. Aber Sie können es bei Bedarf erstellen und handhaben. –