Я хочу показать все содержимое базы данных в виде списка в Android Studio, я ожидаю увидеть 3 строки, каждая строка которых содержит «имя, семейство и идентификатор», но я вижу комплекс имени пакета и некоторых других символов в следующем виде:
com.google. www.hmdbtest01.Person@529e71b4
com.google. www.hmdbtest01.Person@529e7238
com.google. www.hmdbtest01.Person@529e7298
если я Если в моей базе данных больше строк, я увижу в выводе больше строк, как указано выше.
мои коды следующие:
public class ListOfData extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list_of_data);
ListView list = findViewById(R.id.list1);
HmDbManager01 db= new HmDbManager01(this);
ArrayList personList = db.getAll();
ArrayAdapter<ArrayList> arrayList = new ArrayAdapter<ArrayList>(this,
android.R.layout.simple_list_item_1, personList);
list.setAdapter(arrayList);
}
}
db.getAll () выглядит следующим образом:
public ArrayList<Person> getAll(){
SQLiteDatabase sqLiteDatabase = this.getReadableDatabase();
Cursor cursor= sqLiteDatabase.rawQuery("SELECT * FROM tbl_person", null);
cursor.moveToFirst();
ArrayList<Person> allData = new ArrayList<>();
if(cursor.getCount() > 0){
while (!cursor.isAfterLast()){
Person p1 = new Person();
p1.pID=cursor.getString(0);
p1.pName=cursor.getString(1);
p1.pFamily=cursor.getString(2);
allData.add(p1);
cursor.moveToNext();
}
}
cursor.close();
sqLiteDatabase.close();
return allData;
}
и это Человек:
package com.google.www.hmdbtest01;
public class Person {
public String pID;
public String pName;
public String pFamily;
}
Дайте мне знать ваши комментарии по этой проблеме.