Po oficjalnym dokumencie http://developer.android.com/guide/topics/ui/controls/pickers.html#DatePicker.Jak przenieść sformatowany ciąg daty z mojego pliku DatePickerFragment?
Użyłem tylko ten sam kod i dodał tylko wynik formatowania w metodzie onDateSet
:
public class DatePickerFragment extends DialogFragment
implements DatePickerDialog.OnDateSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the 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);
// Create a new instance of DatePickerDialog and return it
return new DatePickerDialog(getActivity(), this, year, month, day);
}
@Override
public void onDateSet(DatePicker view, int year, int month, int day) {
Calendar c = Calendar.getInstance();
c.set(year, month, day);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = sdf.format(c.getTime());
// How to get the string from here to the caller?
}
}
Do testowania aktywności rozmówcy po prostu wyświetla TextView
i wywołuje próbnika, gdy użytkownik dotyka widget : wyświetlany jest
public class OrderHeadEditActivity extends Activity {
private TextView mDTDelivery;
...
@Override
protected void onCreate(Bundle bundle) {
...
mDTDelivery = (TextView) findViewById(R.id.order_head_view_dt_delivery);
...
mDTDelivery.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DialogFragment picker = new DatePickerFragment();
picker.show(getFragmentManager(), "datePicker");
}
});
}
...
}
data kompletacji, a po ustawieniu punktu przerwania w miejscu, gdzie wynik jest sformatowany na sznurku, widzę to działa.
Jednak nie wiem, jak przekazać wartość ciągu z powrotem do widżetu mtDTDelivery
?
uczynić swoją klasę datapicker wewnętrzną klasą swojej klasy aktywności – Raghunandan
wypróbowałeś poniższe?. metoda interfejsu zadziała. – Raghunandan
Jeszcze nie próbowałem. Spróbuję później dzisiaj. Chciałbym to najpierw zrozumieć. (Jestem nowy w Javie i jej iterfaces, a także nowościach w systemie Android.) – pepr