2013-08-17 8 views
36

Próbuję utworzyć listę "przeciągnij i upuść" dla małej aplikacji do gier, którą piszę.Utwórz kursor z zakodowanej tablicy zamiast DB

Jest 6 pozycji na liście. Jednak dodana biblioteka wymagała obiektu Cursor, który rozmawia z bazą danych. To jest przesada dla mojej sytuacji.

Czy istnieje sposób utworzenia obiektu Cursor opartego na strukturze danych opartej na pamięci, takiej jak tablica? Czy istnieje sposób, w jaki mogę użyć tablicy z zakodowanymi kodami jako mojego kursora?

Dzięki

Odpowiedz

46

Sprawdź MatrixCursordocumentation. Sprawdź na przykład this example.

String[] columns = new String[] { "_id", "item", "description" }; 

MatrixCursor matrixCursor= new MatrixCursor(columns); 
startManagingCursor(matrixCursor); 

matrixCursor.addRow(new Object[] { 1, "Item A", "...." }); 

SimpleCursorAdapter adapter = 
     new SimpleCursorAdapter(this, R.layout.layout_row, matrixCursor, ...); 

setListAdapter(adapter); 
+0

@ FaddishWorm Dzięki za posta. Czy mógłbyś mi powiedzieć, dlaczego otrzymuję komunikat "Brak typu zwrotu dla metody" error for startManagingCursor (matrixCursor). Co za rozwiązanie tego problemu. Używam API 19 z minimalną obsługą api 8. – Dexter

+0

@FaddishWorm: Rozwiązałem problem. To był głupi błąd. Robiłem połączenie w niewłaściwym miejscu, tj. nie wewnątrz żadnej metody klasy. Udało mi się to zrobić jako getActivity(). StartManagingCursor (matrixCursor), ponieważ klasa jest fragmentem. – Dexter

+0

Byłoby miło dla pełnego kodu. IE ten układ to coś, co zrobiłeś ??? Właśnie testuję biblioteki tutaj i potrzebuję kursora z ciągami – StarWind0

2

może można sprawdzić MatrixCursor klasy, które można nazwać addRow((Iterable<?> columnValues) lub addRow(Object[] columnValues) nadzieję, że pomoże

1

użycie MatrixCursor zamiast addRow(), która nie jest bardzo poręczny, metoda użycie konstruktora newRow()

Powiązane problemy