Вы должны обновить класс модели только в View Model ..
Создать интерфейс для действия IContract.java
public interface IContract {
interface View
{
public void displayModelData();
}
interface ViewModel
{
public Book setModelData();
public Book getModelData();
}
}
- Затем реализуйте интерфейс View в классе Activity и View Model Interface в классе ViewModel.
Теперь создайте ссылочный объект ViewModel в классе Activity.
, где мы можемпередать данные из ViewModel в View, используя этот объект
Класс активности MainActivity.java
public class MainActivity implements IContract.View {
private IContract.ViewModel viewModel; //create a instance for ViewModel object
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.viewModel = new MainActivityViewModel(getApplicationContext());// object initialisation
@overide
public void displayModelData()
{
viewModel.setModelData(); // update model class
Book obj = viewModel.getModelData();// this will get book object from viewModel class.
Toast(obj.Name);
}
}
}
MainActivityViewModel.Ява
public class MainActivityViewModelimplements IContract.ViewModel
{
Context context;
Book book;
public void MainActivityViewModel (Context context)
{
this.context = context;
}
@Override
public void setModelData ()
{
book = new Book(); // update model class.
book.setName(x);
}
@Override
public Book getModelData ()
{
return book; //return the object to the view
}
}