【问题标题】:Android Recycler View Adapter with TimePicker带有 TimePicker 的 Android Recycler View Adapter
【发布时间】:2017-09-18 15:51:59
【问题描述】:

我有一个带有 RecyclerView 的片段,用户可以在其中引入一个或多个时区,选择开始和结束时间。

当用户每小时点击一次时,会出现时间选择器:

选择小时后,我想将文本小时更改为用户选择的时间。我从 RecyclerView 适配器显示 timePicker,但我不知道如何从 onTimeSet 传递来修改小时的 textView。据我所知,它必须在 RecyclerView 适配器内。

【问题讨论】:

    标签: android listview android-recyclerview timepicker


    【解决方案1】:

    我终于找到了解决方案。所有这些都发生在 RecyclerView Adapter 内部。我向 textView 添加了一个 onClick 侦听器。然后我在创建对话框片段时传递视图。

    onBindViewHolder 内部:

    horarioViewHolder.mFromTime.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
    
                    DialogFragment newFragment = new TimePickerFragment(v);
                    newFragment.show(((ChefAltaUnoActivity)mContext).getSupportFragmentManager(), "timePicker");
    
                }
            });
    

    TimePickerFragment 内部:

    public static class TimePickerFragment extends DialogFragment implements TimePickerDialog.OnTimeSetListener {
    
    
        private View mView;
    
        public  TimePickerFragment(View view) {
            mView = view;
        }
    
    
    
        @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);
    
    
            TimePickerDialog timePicker = new TimePickerDialog(getActivity(), R.style.CustomTimePickerDialogTheme, this, hour, minute,
                    DateFormat.is24HourFormat(getActivity()));
    
    
            // Create a new instance of TimePickerDialog and return it
            return timePicker;
        }
    
        public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
    
    
            ((TextView) mView).setText("format the time text as you want.");
    
        }
    
    }
    

    希望对其他人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多