「顧客」テーブルから顧客の詳細をロードし、顧客の場所である詳細を編集できる顧客の詳細ページがあります。顧客の場所は、「場所」テーブルからドロップダウン項目が読み込まれるスピナーです。
したがって、私の現在の実装は、CustomerViewModel と LocationViewModel を持つ CustomerActivity を持っていることです。
public class CustomerActivity extends AppCompatActivity {
...
onCreate(@Nullable Bundle savedInstanceState) {
...
customerViewModel.getCustomer(customerId).observe(this, new Observer<Customer>() {
@Override
public void onChanged(@Nullable Customer customer) {
// bind to view via databinding
}
});
locationViewModel.getLocations().observe(this, new Observer<Location>() {
@Override
public void onChanged(@Nullable List<Location> locations) {
locationSpinnerAdapter.setLocations(locations);
}
});
}
}
私の質問は、実行された両方のビューモデルからの onChanged の両方が異なる場合があるため、「顧客」テーブルの値を使用して場所スピナーを設定する方法です (顧客の読み込みが速く、他の場所の読み込みが速い場合があります)。
顧客がロードされた後にのみ場所をロードすることを検討しましたが、「顧客」テーブルの値を顧客の場所スピナーに入力しながら、両方を同時にロードできる方法はありますか?