我正在玩android,因为我正在尝试用机器人学习M-V-VM。我创建了如下结构:
Person.class,PersonDao.class,PersonDatabase.class,DatabaseRepository.class,PersonViewModel.class,MainActivity.class
ActivityMain.class
public class MainActivity extends AppCompatActivity {
private EditText age;
private EditText name;
Person person;
private PersonViewModel personViewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
name = findViewById(R.id.name);
age = findViewById(R.id.age);
personViewModel = ViewModelProviders.of(this).get(PersonViewModel.class);
}
public void addPerson(View view){
int sAge = Integer.parseInt(age.getText().toString());
String sName = name.getText().toString();
person = new Person(sName, sAge);
System.out.println(person.toString());
personViewModel.insert(person);
System.out.println(personViewModel.getmAllPeople());
}
}
有没有一个地方我可以@Override一个toString()方法(也许在Dao中)所以当我打印到系统时我不会得到:
I / System.out:android.arch.lifecycle.ComputableLiveData$1@7638ae0?
答案 0 :(得分:2)
不,抱歉 - 您没有创建该对象。房间是。
答案 1 :(得分:0)
您可以覆盖Person.class中的“toString”方法 (为简单起见,使用Ctrl + O)