加快Listview加载并对其进行排序

时间:2016-05-08 15:46:04

标签: java android listview

我有小型Android应用,但Sqlite数据库很大,表单加载速度很慢。如何加快Listview加载并按名称对其进行排序?

我的代码在这里:

   public void nameload(){
    ArrayList<String> names = new ArrayList<String>();
    db = openOrCreateDatabase(Adatbazis, MODE_PRIVATE, null);
    Cursor Namecursor = db.rawQuery("select DISTINCT name from Table WHERE ztr='"+ztrcode+"'", null);
    Namecursor.moveToFirst();

    String name = "";

    while (!Namecursor.isAfterLast()) {
        name = "" + Namecursor.getString(Namecursor.getColumnIndex("name"));
        names.add(name);
        Namecursor.moveToNext();

    }


    //A tömb elemeinek betöltése a UI-ba
    ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(
            this,
            android.R.layout.simple_list_item_1,
            names);


    namelist.setAdapter(adapter1);

    Namecursor.close();
}

感谢您的帮助:))

1 个答案:

答案 0 :(得分:0)

永远记住在setAdapter()之后关闭光标可能会阻止适配器访问使加载变慢的数据。

Namecursor.close();

之前移动你的ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(..)循环之后