2 回答

TA貢獻1859條經(jīng)驗 獲得超6個贊
您正在嘗試訪問 Service 中的 FragmentActivity ViewModel。
為服務(wù)創(chuàng)建單獨的 ViewModel,它將起作用。

TA貢獻1712條經(jīng)驗 獲得超3個贊
我沒有訪問 Service 中的 FragmentActivity ViewModel,而是像這樣更改代碼。
到我的 MainActivity.java
public class MainActivity extends AppCompatActivity {
public static RoomViewModel model;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
model = ViewModelProviders.of(this).get(RoomViewModel.class);
}
}
然后在我的服務(wù)中
代替
model = ViewModelProviders.of((FragmentActivity) getApplicationContext()).get(RoomViewModel.class);
我把它改為
model = MainActivity.model;
我不知道這種方法是否是一個好的做法,但它似乎對我有用。
添加回答
舉報