The data isn't loaded on startup, here is the complete ViewModel, can anyone see anything obvious please , i've been looking at this issue for hours and cannot fix it???? Is it just two editviews ( eg bind:text="${vehicleodometer}" and bind:text="${vehicleregistration}"):
package com.example.johnnytwoshoes.myapplicationtestgenerator1.ViewModel;
import android.util.Log;
import android.widget.Toast;
import com.example.johnnytwoshoes.myapplicationtestgenerator1.Model.StartshiftActivityModel;
import com.example.johnnytwoshoes.myapplicationtestgenerator1.View.MainActivity;
import com.example.johnnytwoshoes.myapplicationtestgenerator1.View.StartshiftActivity;
import org.robobinding.annotation.PresentationModel;
import io.realm.Realm;
@PresentationModel
public class StartshiftActivityViewModel {
//Constructor
public StartshiftActivityViewModel(){
realm = Realm.getInstance(StartshiftActivity.getContext());
setStartshiftactivitymodel(realm.where(StartshiftActivityModel.class).findFirst());
if(startshiftactivitymodel == null )
{
Log.i("myapp", "startshiftactivitymodel = null");
realm.beginTransaction();
startshiftactivitymodel = realm.createObject(StartshiftActivityModel.class);
realm.commitTransaction();
}
Log.i("myapp", "Vehicleregistration: " + startshiftactivitymodel.getVehicleregistration());
}
public StartshiftActivityModel getStartshiftactivitymodel() {
return startshiftactivitymodel;
}
public void setStartshiftactivitymodel(StartshiftActivityModel startshiftactivitymodel) {
this.startshiftactivitymodel = startshiftactivitymodel;
}
//Private instance of Model
private StartshiftActivityModel startshiftactivitymodel;
//Private Interface
private Realm realm;
//Public Interface
public String getVehicleregistration() {
return startshiftactivitymodel.getVehicleregistration();
}
public void setVehicleregistration(String vehicleregistration) {
realm.beginTransaction();
startshiftactivitymodel.setVehicleregistration(vehicleregistration);
realm.commitTransaction();
}
public String getVehicleodometer() {return startshiftactivitymodel.getVehicleodometer();}
public void setVehicleodometer(String vehicleodometer) {
realm.beginTransaction();
startshiftactivitymodel.setVehicleodometer(vehicleodometer);
realm.commitTransaction();
}
public void onSubmit() {
if(getVehicleregistration().equals(""))
{
Toast.makeText(MainActivity.getContext(), "vehicleregistration missing", Toast.LENGTH_SHORT).show();
return;
}
if(getVehicleodometer().equals(""))
{
Toast.makeText(MainActivity.getContext(),"vehicleodometer missing", Toast.LENGTH_SHORT).show();
return;
}
}
}