2017-08-09 106 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); 
相關問題