Android:将Time Picker Fragment数据发送到Activity

标签 android fragment timepicker

我按照以下指南创建了一个带有时间选择器的 fragment :

http://developer.android.com/guide/topics/ui/controls/pickers.html

现在我想将设置的时间发送回持有 fragment 的 Activity 。我搜索了如何做,我发现了这个:

http://developer.android.com/guide/components/fragments.html#CommunicatingWithActivity

我试图在我的 Fragment 中创建一个 onTimeSet 接口(interface),但由于我正在实现 TimePickerDialog.OnTimeSetListener,它要求我重写 onTimeSet 方法。我发现我可以简单地调用 getActivity() 发送数据,但我不确定这是否是一个好的选择,因为 android 开发页面建议使用接口(interface)方法。

我该怎么办?

这是一些代码:

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??
}


}

在我的 Activity 中:

.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            DialogFragment newFragment = new TimePickerFragment();
            newFragment.show(CreateStopActivity.this.getSupportFragmentManager(), "timePicker");
        }

    });

最佳答案

你可以用构造函数传递它。

    Button timeBtn;

    public TimePickerFragment(Button btn) {
        timeBtn = btn;
    }

    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        timeBtn.setText(hourOfDay + ":" + minute);
    }

关于Android:将Time Picker Fragment数据发送到Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14750803/

相关文章:

android - 由于它是在另一台PC上构建的,因此我无法同步我的android项目。怎么解决呢?

android - 发送 Intent 到另一个应用程序而不在android中打开它

java - Android fragment InflateException

php - 多个输入字段上的 Jquery 时间选择器

android - 如何将时间从 android timepicker 传递到刚刚单击的编辑文本字段?

android - 以编程方式设置 fragment 类中的 WebView loadUrl

android - Google+ 应用中使用的网格状布局的名称是什么?

Android 在 vi​​ewpager 中点击转到第一个 fragment 后返回同一个 fragment

android - 无法覆盖 Fragment 中的 onContextItemSelected

java - Android Java 时间选择器对话框