【问题标题】:Adding a date picker using fragments使用片段添加日期选择器
【发布时间】:2014-03-14 19:57:45
【问题描述】:

我有一个关于设置 fragmentManager 的问题。我正在开发一个应用程序,该应用程序有一个设置页面,其中有一个用于选择日期的按钮。
我有一个日期选择器的片段和一个日期选择器的布局。

我试图在我的活动中设置 fragmentManager:

     //Setup fragment manager
    android.app.FragmentManager fm = getFragmentManager();
    //fragment transaction
    android.app.FragmentTransaction ft = fm.beginTransaction();

    //add fragments
    ft.add(R.id.dialog_date);
    ft.commit();

我遇到了 ft.add 部分的问题,我正在尝试为我的日期选择器添加片段布局。我不清楚这是否是正确的方法。除了日期选择器,我还添加了一个时间选择器。我是否以同样的方式添加它?

    ft.add(R.id.timepicker)

我已经设置了我的按钮点击,使用意图来获取日期选择器。我认为这不是调用日期选择器的正确方法。

    //button click for date. user clicks button and a date picker fragment is enabled.
    mDateButton = (Button)v.findViewById(R.id.eventDateButton);

    mDateButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent myIntent = new Intent(NewEventSetupActivity.this, DatePickerFragment.class);
            startActivity(myIntent);
        }
    });

我的设置方式是否正确?还是有更简单的方法?

提前致谢。

【问题讨论】:

    标签: android android-fragments datepicker


    【解决方案1】:

    启动新片段时不需要使用意图。您只需使用片段管理器,如果您使用对话框片段作为日期选择器,这将非常简单。

    使用对话框片段,您的 onClick 可以像这样简单:

    public void showDatePickerDialog(View v) {
      DialogFragment newFragment = new DatePickerFragment();
      newFragment.show(getSupportFragmentManager(), "datePicker");
    }
    

    看看这个,它是一个很棒的教程,可以将漂亮的日期选择器显示为对话框:http://developer.android.com/guide/topics/ui/controls/pickers.html#DatePicker

    祝你好运!

    【讨论】:

    • 感谢您的帮助,如果我有更多问题,我将完成教程并稍后回复。再次感谢。
    • @DejanRistic--感谢本教程和您的帮助,我能够设置时间和日期选择器。我认为没有正确使用 fragmentManager 的唯一问题是如何设置我的活动。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多