2017-08-09 122 views
0

如何将所有数据从sqlite显示到列表视图?如何检索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)); 
     } 
    } 
} 

Here is the layout where i want to display all my data

enter image description here

回答

0

为什么代码额外,当你可以用一些非常litle的代码做到这一点。

首先为所需的数据创建一个POJO或Bean类。

public class Student { 
    String ID,name,grade,school,program,course,email,bday,address,gender; 
    (getter and setter) 
} 

下一页只需创建“学生”类的列表,并调用SQLite的查询这样的 -

List<Student> studentDetailsList= new ArrayList<>(); 
studentDetailsList = db.rawQuery("SELECT * FROM student", null); 

,你可以很容易地访问它。

0

可以首先澄清你的问题?你想在学生数据库中显示多个学生或多个数据字段吗?看到这里寻求帮助。

Sqlite how to get string items using cursor

相反的getString的,使用getColumnIndex(),因为列数可以改变。你也可以显示你的数据库?

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); 
相关问题