1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

CursorAdapter aus ArrayList?

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von nithdi, 08.08.2010.

  1. nithdi, 08.08.2010 #1
    nithdi

    nithdi Threadstarter Neuer Benutzer

    Beiträge:
    19
    Erhaltene Danke:
    0
    Registriert seit:
    26.04.2010
    Hi.

    Ich versuche gerade eine Arraylist in einen Cursor zu "konvertieren", damit ich diesen Cursor dann in einem ListView anzeigen kann.
    Hintergrund ist folgender: In dem Adapter wird eine unbestimmte Anzahl an Einträgen gespeichert (können auch mehr als 10.000 sein).
    Habe vorher mit einem ArrayAdapter gearbeitet. Allerdings möchte ich in dem Adapter bzw. ListView auch suchen können. Das habe ich mit FilterText realisiert. Dieser ist aber auf einem ArrayAdapter mit so vielen Einträgen sehr langsam.
    Deshalb will ich jetzt auf den CursorAdapter umsatteln.

    Code ist folgender:

    Code:
    try {
              Socket theSocket = new Socket(IPAdress,Integer.parseInt(Port));
              OutputStreamWriter os = new OutputStreamWriter(theSocket.getOutputStream(), "UTF-16LE");
              PrintWriter out = new PrintWriter(os, true);
              BufferedReader in = new BufferedReader(new InputStreamReader(theSocket.getInputStream(), "UTF-16LE"));
              ArrayList<String> al = new ArrayList<String>();
    
    //GET PLAYLIST
              out.println("getPL");
              i = Integer.parseInt(in.readLine());
    
    for (x = 0; x < i; x++) {
                //aa.add((x+1) + ". " + in.readLine());  Alter ArrayAdapter!!
                al.add((x+1) + ". " + in.readLine());
              }
    
    Cursor cu = ? //<-- Hier weiß ich nicht weiter.
    
    Wie bekomme ich also aus der ArrayList die Daten in den Cursor. Kann ich den Cursor evtl. sogar direkt in der for-Schleife befüllen?

    Danach sollte es ja hoffentlich einfacher werden, zumindest schaut der Constructor füür den CursorAdapter recht überschaubar aus :)

    Danke für eure Hilfe.
     

Diese Seite empfehlen