ViewModelProvider
在Android中主要用于創建和管理ViewModel
對象。ViewModel
是一種數據持有類,它可以在配置更改(如屏幕旋轉)或應用生命周期事件(如Activity或Fragment的銷毀和重建)時保持數據。這使得ViewModel
成為在UI組件之間共享數據的理想選擇。
使用ViewModelProvider
的典型場景包括:
以下是一個簡單的示例,說明如何在Activity中使用ViewModelProvider
獲取ViewModel實例:
public class MainActivity extends AppCompatActivity {
private MyViewModel myViewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 創建ViewModel實例
myViewModel = new ViewModelProvider(this).get(MyViewModel.class);
// 使用ViewModel中的數據
myViewModel.getData().observe(this, data -> {
// 更新UI
});
}
}
在這個例子中,我們首先通過ViewModelProvider(this)
獲取一個ViewModelProvider.Factory
實例,然后使用get(MyViewModel.class)
方法創建一個MyViewModel
實例。注意,我們需要將當前Activity(或Fragment)傳遞給ViewModelProvider
,以便它能夠正確地創建和管理ViewModel的生命周期。