2016-05-08 7 views
0

小さなAndroidアプリがありますが、Sqliteデータベースが大きく、フォームの読み込みが遅いです。リストビューの読み込み速度を上げ、名前で並べ替えることはできますか?リストビューの読み込みと並べ替え

私のコードはここにある:

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(); 
} 

私を助けてくれてありがとう:)

+0

使用 'SimpleCursorAdapter'はなく、' ArrayAdapter' – pskink

+0

あなたは私のコードを書くことができます前に、だからあなたのNamecursor.close();は、ループの後に移動しますか?私は中学校の開発者です:) –

+0

'SimpleCursorAdapter'を作成して' setAdapter'メソッドに渡します – pskink

答えて

0

は必ずsetAdapter()の後にカーソルを閉じる覚え読み込みが遅くなり、データにアクセスするアダプタを防ぐことができます。

ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(..)

関連する問題