在Recyclerview中选择多个项目

时间:2019-08-10 10:07:43

标签: android android-recyclerview

他的即时消息人员使用嵌套的回收站视图来显示我的列表。 在那个即时消息中显示了一个大列表,其中有3000多个项目,位于单个数组中 这是json的示例:

LaTeX

list在单个数组中有5000多个项目,因此很难在其中选择单个项目。每当我选择这样的时候

    [
  {
    "id": "1",
    "perant_type_name": "Bench Press",
    "base_value": "229",
    "exercise": [
      {
        "exercise_id": "207",
        "exercise_name": " Run - 2000 m",
        "exercise_type": "Body Weight",
        "gym_account_id": "15",
        "last_modify_time": "2019-07-22 22:29:26",
        "exercise_type_id": "1",
        "exercise_video_link": "http://godspeed.itechs.co.in/godspeed/assets/video/exercise_5bdc33e1ea7b6.mp4",
        "exercise_percentage": "120",
        "id": "1",
        "perant_type_name": "Bench Press",
        "base_value": "229",
        "sets": [
          {
            "exercise_sets_id": "18",
            "exercise_id": "0",
            "set_name": "Reps",
            "tempo": "0",
            "weight": "0",
            "reps": "0",
            "gym_account_id": "0",
            "last_modify_time": "2018-11-05 06:02:00"
          },
          {
            "exercise_sets_id": "18",
            "exercise_id": "0",
            "set_name": "Reps",
            "tempo": "0",
            "weight": "0",
            "reps": "0",
            "gym_account_id": "0",
            "last_modify_time": "2018-11-05 06:02:00"
          },
          {
            "exercise_sets_id": "6",
            "exercise_id": "0",
            "set_name": "Sets",
            "tempo": "4",
            "weight": "4",
            "reps": "4",
            "gym_account_id": "16",
            "last_modify_time": "2018-07-20 03:18:29"
          },
          {
            "exercise_sets_id": "6",
            "exercise_id": "0",
            "set_name": "Sets",
            "tempo": "4",
            "weight": "4",
            "reps": "4",
            "gym_account_id": "16",
            "last_modify_time": "2018-07-20 03:18:29"
          },
          {
            "exercise_sets_id": "5",
            "exercise_id": "0",
            "set_name": "Weight",
            "tempo": "4",
            "weight": "4",
            "reps": "4",
            "gym_account_id": "16",
            "last_modify_time": "2018-07-20 03:18:19"
          },
          {
            "exercise_sets_id": "5",
            "exercise_id": "0",
            "set_name": "Weight",
            "tempo": "4",
            "weight": "4",
            "reps": "4",
            "gym_account_id": "16",
            "last_modify_time": "2018-07-20 03:18:19"
          }
        ]
      },
      {
        "exercise_id": "207",
        "exercise_name": " Run - 2000 m",
        "exercise_type": "Body Weight",
        "gym_account_id": "15",
        "last_modify_time": "2019-07-22 22:29:26",
        "exercise_type_id": "1",
        "exercise_video_link": "http://godspeed.itechs.co.in/godspeed/assets/video/exercise_5bdc33e1ea7b6.mp4",
        "exercise_percentage": "120",
        "id": "1",
        "perant_type_name": "Bench Press",
        "base_value": "229",
        "sets": [
          {
            "exercise_sets_id": "18",
            "exercise_id": "0",
            "set_name": "Reps",
            "tempo": "0",
            "weight": "0",
            "reps": "0",
            "gym_account_id": "0",
            "last_modify_time": "2018-11-05 06:02:00"
          },
          {
            "exercise_sets_id": "18",
            "exercise_id": "0",
            "set_name": "Reps",
            "tempo": "0",
            "weight": "0",
            "reps": "0",
            "gym_account_id": "0",
            "last_modify_time": "2018-11-05 06:02:00"
          },
          {
            "exercise_sets_id": "6",
            "exercise_id": "0",
            "set_name": "Sets",
            "tempo": "4",
            "weight": "4",
            "reps": "4",
            "gym_account_id": "16",
            "last_modify_time": "2018-07-20 03:18:29"
          },
          {
            "exercise_sets_id": "6",
            "exercise_id": "0",
            "set_name": "Sets",
            "tempo": "4",
            "weight": "4",
            "reps": "4",
            "gym_account_id": "16",
            "last_modify_time": "2018-07-20 03:18:29"
          },
          {
            "exercise_sets_id": "5",
            "exercise_id": "0",
            "set_name": "Weight",
            "tempo": "4",
            "weight": "4",
            "reps": "4",
            "gym_account_id": "16",
            "last_modify_time": "2018-07-20 03:18:19"
          },
          {
            "exercise_sets_id": "5",
            "exercise_id": "0",
            "set_name": "Weight",
            "tempo": "4",
            "weight": "4",
            "reps": "4",
            "gym_account_id": "16",
            "last_modify_time": "2018-07-20 03:18:19"
          }
        ]
      }
    ]
  }
]
在notifyDataSetChanged列表之后的

列表将被重新渲染,并且在选择和设置项目时显得很迟钝。  如何在不刷新完整列表的情况下选择项目。

并且我也使用此 exerciseforSearch.get(position).setSelectedExercise(true); notifyDataSetChanged(); ,但同时执行同样的操作也会变得很麻烦,我该如何仅更新单个项目

以及如何在其中实现粘性标头...。 预先感谢...

0 个答案:

没有答案