如何将所有数据从sqlite显示到列表视图?
每次单击“查看全部按钮”时,即使添加多个数据,也只显示一个数据。我怎样才能显示我的所有数据?
谢谢!
以下是我的代码:
MainActivity.java
if(view==btnViewAll){
setContentView(R.layout.activity_view_all);
TextView id = (TextView)findViewById(R.id.idno);
TextView name = (TextView)findViewById(R.id.name);
TextView grade = (TextView)findViewById(R.id.grade);
TextView school = (TextView)findViewById(R.id.school);
TextView program = (TextView)findViewById(R.id.program);
TextView course = (TextView)findViewById(R.id.course);
TextView email = (TextView)findViewById(R.id.email);
TextView bday = (TextView)findViewById(R.id.bday);
TextView address = (TextView)findViewById(R.id.address);
TextView gender = (TextView)findViewById(R.id.gender);
Cursor c = db.rawQuery("SELECT * FROM student", null);
if (c.moveToFirst()){
id.setText(c.getString(0));
name.setText(c.getString(1));
grade.setText(c.getString(2));
school.setText(c.getString(3));
program.setText(c.getString(4));
course.setText(c.getString(5));
email.setText(c.getString(6));
bday.setText(c.getString(7));
address.setText(c.getString(8));
gender.setText(c.getString(9));
}
}
}
答案 0 :(得分:0)
你能先解释一下你的问题吗?您想在学生数据库中显示多个学生或多个数据字段吗?请看这里寻求帮助。
Sqlite how to get string items using cursor
使用getColumnIndex()代替getString,因为列号可以更改。你也可以显示你的数据库吗?
答案 1 :(得分:0)
store data in arraylist and pass this list to adapter.
Make class Student
public class Student {
String ID,name,grade,school,program,course,email,bday,address,gender;
(getter and setter)
}
EX :
ArrayList<Student> studentDetailsList= new ArrayList<>();
Cursor c = db.rawQuery("SELECT * FROM student", null);
if (c.moveToFirst()){
Student s = new Student();
s.setID(c.getString(0));
s.setName(c.getString(1));
s.setGrade(c.getString(2));
s.setSchool(c.getString(3));
s.setProgram(c.getString(4));
s.setCourse(c.getString(5));
s.setEmail(c.getString(6));
s.setBday(c.getString(7));
s.setAddress(c.getString(8));
s.setGender(c.getString(9));
}
studentDetailsList.add(s);
Now pass this list to adapter and then set data to views
In adapter:
Student ss = studentDetailsList.get(position);
//now set data to your textviews
//ex. youridtextview.setText(ss.getID);
答案 2 :(得分:0)
为什么在使用一些非常小的代码时可以编写额外代码。
首先为所需数据制作POJO或Bean类。
public class Student {
String ID,name,grade,school,program,course,email,bday,address,gender;
(getter and setter)
}
接下来只需创建一个“Student”类列表,并像这样调用SQLite查询 -
List<Student> studentDetailsList= new ArrayList<>();
studentDetailsList = db.rawQuery("SELECT * FROM student", null);
您可以轻松访问它。