Java 随机化LiveData<;列表<;名称>;

Java 随机化LiveData<;列表<;名称>;,java,android,random,android-livedata,Java,Android,Random,Android Livedata,如何在ViewModel中随机化LiveData,并在我的RecyclerView中显示结果?我在想我可以做一个 Collection.shuffle(Arrays.asList(myList)) 但我不相信这会改变LiveDatalist中对象的顺序 我的碎片 .... public void RandomizeListOrder() { mMainActivityViewModel.setRandomOrder(); adapter.notifyDataSetChanged

如何在
ViewModel
中随机化
LiveData
,并在我的
RecyclerView
中显示结果?我在想我可以做一个

Collection.shuffle(Arrays.asList(myList))
但我不相信这会改变LiveDatalist中对象的顺序

我的碎片

....
public void RandomizeListOrder() {
    mMainActivityViewModel.setRandomOrder();
    adapter.notifyDataSetChanged();
}
视图模型

private LiveData<List<StudentEntity>> mStudentList

public void setRandomOrder() {
    Collection.shuffle(Arrays.asList(mStudentList));
}
private LiveData mStudentList
公共命令(){
Collection.shuffle(Arrays.asList(mStudentList));
}

您可以使用livedata转换操作livedata

val transformedLiveData = Transformations.map(
                yourActualLiveData) { //Shuffle logic here }

您可以使用livedata转换操作livedata

val transformedLiveData = Transformations.map(
                yourActualLiveData) { //Shuffle logic here }

如果您对Kotlin解决方案感兴趣,可以这样做:

val mStudentList = MutableLiveData<List<StudentEntity>>()

fun setRandomOrder() {
    mStudentList.value?.let { students ->
        mStudentList.value = students.shuffled()
    }
}
val mStudentList=MutableLiveData()
fun setrandorder(){
mStudentList.value?.let{students->
mStudentList.value=students.shuffled()
}
}

如果您对Kotlin解决方案感兴趣,可以这样做:

val mStudentList = MutableLiveData<List<StudentEntity>>()

fun setRandomOrder() {
    mStudentList.value?.let { students ->
        mStudentList.value = students.shuffled()
    }
}
val mStudentList=MutableLiveData()
fun setrandorder(){
mStudentList.value?.let{students->
mStudentList.value=students.shuffled()
}
}