3 回答

TA貢獻(xiàn)1898條經(jīng)驗(yàn) 獲得超8個贊
您可以使用viewModel實(shí)現(xiàn)來實(shí)現(xiàn)。喜歡,
public class UserViewModel extends AndroidViewModel {
private UserRepository userRepository;
private LiveData<List<UserData>> getUser;
public UserViewModel(@NonNull Application application) {
super(application);
userRepository = new UserRepository(application);
getUser= userRepository.getUser();
}
public LiveData<List<UserData>> getUser() {
return getUser;
}
}
創(chuàng)建此類后,請更新您的PersonalInfoActivity和LaunchActivity,
private UserViewModel userViewModel;
userViewModel.getUser().observe(this, new Observer<List<UserData>>() {
@Override
public void onChanged(@Nullable final List<UserData> user) {
//write code to set data of user to show using list of user
}
});
如果您對此有任何疑問,請離開commnet。

TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個贊
我在本教程中創(chuàng)建了一個名為LivedataBus的庫 。您可以像這樣使用它:
//Subscribe
LiveDataBus.subscribe("event_name", this, Observer {
it.runAndConsume {
Toast.makeText(this, "Hello ${it.value}", Toast.LENGTH_LONG).show()
}
})
//Publish
val obj = SomeEvent()
LiveDataBus.publish("event_name", ConsumableEvent(value = obj))
神奇之處在于,我使用了ConsumableEvent,可以在觸發(fā)事件后使用它,以防止從靜態(tài)總線獲取最新數(shù)據(jù)。
我在當(dāng)前項(xiàng)目中使用了它,并且在多個活動和片段上都可以很好地工作。該庫的好處是它可以在Livedata上運(yùn)行,而您無需關(guān)心活動或片段生命周期。
添加回答
舉報(bào)