我創建了一個片段與此指導時間選擇:安卓:發送時間選取的片段數據到活動
http://developer.android.com/guide/topics/ui/controls/pickers.html
現在我要在設定的時間發回活動舉行片段。我搜索如何做到這一點,我發現這一點:
http://developer.android.com/guide/components/fragments.html#CommunicatingWithActivity
我想在我的片段創建onTimeSet的接口,但由於我採取TimePickerDialog.OnTimeSetListener它要求我重寫onTimeSet方法。我發現我可以簡單地調用getActivity()方法發送數據,但我不確定這是否是一個很好的選擇,因爲android開發頁面使用接口方法推薦。
我該怎麼辦?
下面是一些代碼:
public class TimePickerFragment extends DialogFragment
implements TimePickerDialog.OnTimeSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current time as the default values for the picker
final Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
// Create a new instance of TimePickerDialog and return it
return new TimePickerDialog(getActivity(), this, hour, minute,
DateFormat.is24HourFormat(getActivity()));
}
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// WHAT TO DO??
}
}
在我的活動:
.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
DialogFragment newFragment = new TimePickerFragment();
newFragment.show(CreateStopActivity.this.getSupportFragmentManager(), "timePicker");
}
});
dialog.setOnTimeSetListener()?此方法不存在。 – Pablo
@Pablo你是對的。對話框的TimeSetListener應該通過構造函數傳輸。 – grine4ka