前提
タスク登録をするAndroidアプリの開発をJavaで行っています。
登録したタスクを並び替え、その状態を保存する機能を実装しようとしています。
並び替えの機能は実装済みで、
現在は、「並び替えたタスク」と「並び替えによって場所移動したタスク」の位置情報を更新する機能を実装しています。
実装方法としては、
0. 並び替えによって場所が変わるタスクだけをまとめて更新する用のリストを作成
0. Adapterから場所が変わるタスクを取得
0. 取得したタスクのpositionを更新(コードは省略してあります)
0. 更新したタスクをリストに追加
0. リスト内のタスクをまとめて更新
を想定しています。
Java
1List<Task> updateTaskList = new ArrayList<>(); 2taskListAdapter.getTask(task); 3 4//省略 5//並び替えたTaskの位置(position)更新 6//省略 7 8updateTaskList.add(taskListAdapter.getTask(task)); 9 10//リストのTaskをまとめて更新 11Task updateTask = ???; //わからない箇所 12mTaskViewModel.update(updateTask); //引数にはTaskが入る
問題
上記1~5の実装のうち4番までは完了していますが、
5番の、更新したタスクを持っているリストの中身をまとめて更新するところの書き方がよく分からず…といった状態です。
ViewModelで作成したupdateメソッドに(引数Task)渡すことができれば完了すると思うのですが、
(全タスクのうち、並び替えによって更新する必要があるタスクだけを入れた)List( updateTaskList
)の中にあるTaskたちは、どのようにしたら更新できるのでしょうか。
コード一部抜粋である上に、アプリの全体像まで伝えることができておらず、申し訳ないですが
どなたか詳しい方、ご回答よろしくお願いいたします。
あなたの回答
tips
プレビュー