【问题标题】:How can I Filter my recyclerview with TimePicker and numberpicker?如何使用 TimePicker 和 numberpicker 过滤我的回收站视图?
【发布时间】:2021-03-28 20:10:34
【问题描述】:

我正在学习 android 开发,我必须创建一个应用程序来安排同事之间的会议,我已经完成了大部分工作,但我现在卡住了:

在我的主要活动中,我有一个菜单项,其中有 2 个项目,第一个是“按时间过滤”,它显示一个时间选择器,第二个是“按位置过滤”,它显示一个数字选择器,转换了 10 个值为字符串值。当我选择时间时,我应该过滤我的回收视图并仅显示在所选时间安排的会议。当我选择一个地方时,我的 recylerview 应该只显示在这个地方安排的会议,所以我有两个过滤器。我该怎么做?

@Override
public boolean onOptionsItemSelected( MenuItem item) {

    switch (item.getItemId()){
        case R.id.filter_list:
            TimePickerDialog timePickerDialog = new TimePickerDialog(this,
                    new TimePickerDialog.OnTimeSetListener() {

                        @Override
                        public void onTimeSet(TimePicker view, int hourOfDay,
                                              int minute) {


                        // what should I write here ?

                        }
                    }, mHour, mMinute, true);
            timePickerDialog.show();
            return true;

        case R.id.filter_place:

            NumberPickerDialog newFragment = new NumberPickerDialog();
            newFragment.setValueChangeListener(this::onValueChange);
            newFragment.show(getSupportFragmentManager(), "time picker");

            return true;

    }
    return super.onOptionsItemSelected(item);
}


public void onValueChange(NumberPicker numberPicker, int oldVal, int newVal) {

    return; // what should I write here ?

}

谢谢。

【问题讨论】:

    标签: java android android-studio android-recyclerview


    【解决方案1】:
    1. 首先,要实现这一点,您的会议对象(您在 recyclerview 中显示)应该可以选择保存(日期和会议)。
    2. 实现recyclerview列表过滤的方法有很多。您可以使用您的 recyclerview 适配器实现 Filterable。所以你将有方法 getFilter(),你将在其中提供过滤

    以下是如何执行此操作的示例: https://www.androidhive.info/2017/11/android-recyclerview-with-search-filter-functionality/

    【讨论】:

      猜你喜欢
      • 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
      相关资源
      最近更新 更多