根据官方架构指南,将数据以//get cities check if cities of the data exist. If not fill the cities
getCities(stateID:string)
{
let index=this.dataStates.findIndex(p=>p.stateID==stateID)
if (index>=0){ //Always must be index>0
if (this.dataStates.cities.length<=0) //is not fill yet
{
this.httpClient.get(url+"/"+stateID).subscribe(res=>{
this.dataStates[index].cities=res;
})
}
}
的形式从一个intent extras
传递到另一个{仍是合法的(通过activity
转发或通过startActivity(ForResult)
返回) )?
此外,可以用接收到的数据(例如,用setResult
填充views
并利用Android系统在配置更改时处理的自动恢复吗?
这些职责中的任何一项应转发给editText.setText(intent.getStringExtra...)
以及如何转发?
答案 0 :(得分:0)
是的。考虑使用您的数据的MutableLiveData。
private final MutableLiveData<Integer> selectedChannelPos = new MutableLiveData<>();
在ViewModel中进行操作。
private void setSelectedChannelPos(int value) {
selectedChannelPos.setValue(value);
}
并在活动上订阅它。像这样:
mainViewModel.getSelectedChannelPos().observe(this, pos -> { //pos is position of RecyclerView
currentChannelName.setText(mainViewModel.getChannelName(pos));
});