F
Freaky256
Neues Mitglied
- 0
Versuche gerade einen TimePicker Dialog durch einen Button klick darzustellen, da jedoch die urspruencliche Methode
deprecated ist musste ich auf Dialog Fragment ausweichen und diese bereitet mir etwas schwierigkeiten...
Hir mal der Code:
Als Fehlermeldugn erhalte ich jedoch, dass das Casten auf "OnTimeSetListener" nicht moeglich ist... Hat vlt jemand ne Loesung dafuer?
Code:
showDialog()
Hir mal der Code:
Code:
public class Main extends Activity implements TimeDialogFragmentListener {
Button mTimeButton;
TimeDialogFragment tFrag;
Calendar now;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.reminder_edit);
mTimeButton = (Button) findViewById(R.id.reminder_time);
mTimeButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showTimeDialog();
}
});
}
public void showTimeDialog() {
FragmentTransaction ft = getFragmentManager().beginTransaction();
tFrag = TimeDialogFragment.newInstance(this, new TimeDialogFragmentListener() {
public void updateChangedTime(int h, int m){
mTimeButton.setText(String.valueOf(h)+ ":" + String.valueOf(m));
}
}, now);
tFrag.show(ft, "TimeDialogFragment");
}
public void updateChangedTime(int h, int m) {}
Code:
public interface TimeDialogFragmentListener {
public void updateChangedTime(int h, int m);
}
Code:
public class TimeDialogFragment extends DataDialogFragment {
private static Context c;
private static TimeDialogFragmentListener listener;
private static int hour;
private static int minute;
public static TimeDialogFragment newInstance(Context context, TimeDialogFragmentListener l, Calendar n) {
TimeDialogFragment dialog = new TimeDialogFragment();
c = context;
listener = l;
hour = Calendar.HOUR;
minute = Calendar.MINUTE;
Bundle args = new Bundle();
args.putString("title", "Set Time");
dialog.setArguments(args);
return dialog;
}
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new TimePickerDialog(c, (OnTimeSetListener) listener, hour, minute, false);
}
private TimePickerDialog.OnTimeSetListener otl = new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int h, int m) {
hour = h;
minute = m;
((OnTimeSetListener) listener).onTimeSet(view, hour, minute);
}
};
}
Als Fehlermeldugn erhalte ich jedoch, dass das Casten auf "OnTimeSetListener" nicht moeglich ist... Hat vlt jemand ne Loesung dafuer?