有沒有辦法使用LinearLayoutManager
以編程方式將特定項目移動到RecyclerView
中的特定位置?如何以編程方式更改RecyclerView中項目的位置?
3
A
回答
6
你可以這樣做:
一些活動/片段/不管:
List<String> dataset = new ArrayList<>();
RecyclerView recyclervSomething;
LinearLayoutManager lManager;
MyAdapter adapter;
//populate dataset, instantiate recyclerview, adapter and layoutmanager
recyclervSomething.setAdapter(adapter);
recyclervSomething.setLayoutManager(lManager);
adapter.setDataset(dataset);
MyAdapter:
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
private List<String> dataset;
public MyAdapter() {}
//implement required methods, extend viewholder class...
public void setDataset(List<String> dataset) {
this.dataset = dataset;
notifyDataSetChanged();
}
// Swap itemA with itemB
public void swapItems(int itemAIndex, int itemBIndex) {
//make sure to check if dataset is null and if itemA and itemB are valid indexes.
String itemA = dataset.get(itemAIndex);
String itemB = dataset.get(itemBIndex);
dataset.set(itemAIndex, itemB);
dataset.set(itemBIndex, ItemA);
notifyDataSetChanged(); //This will trigger onBindViewHolder method from the adapter.
}
}
+0
我怎麼能用動畫做到這一點?例如,將位置n上的項目移動到列表頂部? – vtproduction
+5
如果你想動畫只是移動元素,你可以使用\t \t'Collections.swap(this.mListItems,oldIndex,index); notifyItemMoved(oldIndex,newIndex)' – carvaq
相關問題
- 1. 如何以編程方式更改一個RecyclerView項目樣式?
- 2. 以編程方式設置佈局參數recyclerview的項目
- 3. 如何以編程方式更改項目的產品版本?
- 4. 如何以編程方式更改列表項目的背景?
- 5. 以編程方式更改項目設置
- 6. 如何在android中以編程方式更改編輯文本的位置?
- 7. 如何以編程方式更改選項菜單中的項目?
- 8. 如何以編程方式更改Mac終端程序中光標的位置?
- 9. 以編程方式更改ControlTemplate中項目的值
- 10. 以編程方式更改Xamarin中UIBarButton項目的圖標
- 11. 以編程方式修改UIToolBar項目
- 12. 如何以編程方式更改Access中的選項?
- 13. 如何以編程方式更改Highcharts中的顏色選項?
- 14. 更改RecyclerView中的項目的視圖位置滾動Android
- 15. 如何以編程方式更改XCode項目的設備目標?
- 16. 更改IE設置以編程方式
- 17. 如何以編程方式更改UIView?
- 18. 如何以編程方式更改android:configChanges?
- 19. Android:以編程方式更改視圖的絕對位置
- 20. 以編程方式更改WPF元素的位置
- 21. 以編程方式更改UIImageview的位置iPhone
- 22. 如何以編程方式更改Windows更新選項?
- 23. 以編程方式更改Datagridviewcombobox的項目VB.NET
- 24. 如何更改loadObjectList()項目的位置?
- 25. 如何以編程方式更改指定位置的微調項目名稱android
- 26. 如何以編程方式更改(UITabViewController的)選項卡?
- 27. Android:以編程方式更改TextView位置(左或右)?
- 28. UIImageView無法以編程方式更改位置
- 29. 以編程方式更改按鈕位置
- 30. Swift:以編程方式更改模擬器位置
正在更新數據集的選項? –