Android ViewModel 是一种用于存储和管理与界面相关的数据的类,它与 Activity 或 Fragment 生命周期绑定,使得数据在配置变化(如屏幕旋转)时不会丢失。startActivity 是一个用于启动新的 Activity 的方法。
以下是一个包含代码示例的解决方法:
public class MyViewModel extends AndroidViewModel {
private MutableLiveData data;
public MyViewModel(@NonNull Application application) {
super(application);
data = new MutableLiveData<>();
}
public void setData(String newData) {
data.setValue(newData);
}
public LiveData getData() {
return data;
}
}
public class MyActivity extends AppCompatActivity {
private MyViewModel viewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
viewModel = new ViewModelProvider(this).get(MyViewModel.class);
viewModel.getData().observe(this, new Observer() {
@Override
public void onChanged(String newData) {
// 数据变化时更新界面
// ...
}
});
}
private void startActivity() {
// 启动新的 Activity
Intent intent = new Intent(this, NewActivity.class);
startActivity(intent);
}
}
在上述示例中,通过 ViewModelProvider 获取 MyViewModel 的实例,并使用 observe 方法观察数据的变化。当数据发生变化时,可以在 onChanged 方法中更新界面。
在 startActivity 方法中,使用 Intent 创建一个新的 Activity,并通过 startActivity 方法启动它。
这样,你就可以在 ViewModel 中存储和管理数据,并在 Activity 或 Fragment 中观察数据的变化,同时使用 startActivity 方法启动新的 Activity。
上一篇:Android ViewModel 和 Dagger
下一篇:Android ViewModel LiveData 的 observe 方法可以翻译为 "观察 Android ViewModel LiveData"。