Ansatz, um die Expandable List View mit lokaler SQlite-Datenbank zu füllen

Ich habe eine sqlite Datenbank in meiner Anwendung. Ich möchte damit eine erweiterbare Listenansicht machen.

Ich bin mit dem Ansatz behoben, den ich dafür nehmen sollte.

  • Anpassen von Edittext Eingabezeichen zum Bild?
  • Erstellen eines setError () für den Spinner
  • NameValuePair für openConnection veraltet
  • So öffnen Sie die Navigationsschublade ohne Aktionsleiste, öffnen Sie mit einem Knopf
  • Android ViewGroup: Was soll ich im onLayout () Override machen?
  • JQuery Mobile feste Fußzeile bewegt sich, wenn die Tastatur erscheint
  • Versuchte viel, ein Tutorial für das gleiche zu finden, konnte aber nicht ein einziges finden, wo man die Expandable Liste mit der lokalen Datenbank bevölkert.

    Es gibt diese eine Tutorial in der Android-Website, wo sie füllen die erweiterbare Liste mit dem Kontakt Detail im Telefon. Sie tun dies vom Content Provider ExpandableList2.java

    Also meine Frage ist, sollte ich auch einen Content-Provider für meine Datenbank erstellen, die in meiner eigenen Anwendung ist?

    Ist das der einzige Ansatz oder gibt es noch einen anderen?

  • Wie benutzt man ItemAnimator in einem RecyclerView?
  • Einrichten von EditText mit "url" inputType
  • JSON Parsing Problem mit Spinner
  • Match_parent funktioniert nicht für ListView, wenn ListView in NestedScrollView ist
  • Kann diesen Animator nicht in einer freistehenden Ansicht starten! Zeige Wirkung
  • Glitch beim Animieren verschachtelter Ansichten in einem gemeinsamen Element Aktivitätsübergang?
  • 3 Solutions collect form web for “Ansatz, um die Expandable List View mit lokaler SQlite-Datenbank zu füllen”

    Ich hatte ein Projekt erstellt, um expandablelistview und Datenbank auszuprobieren, hoffe das hilft

      Endklasse ExpAdapter erweitert CursorTreeAdapter {
             LayoutInflater mInflator;
    
             Public ExpAdapter (Cursor-Cursor, Kontext-Kontext) {
                 Super (cursor, kontext);
                 MInflator = LayoutInflater.von (Kontext);
             }
    
             @Override
             Protected void bindChildView (Ansichtsansicht, Kontextkontext, Cursor-Cursor,
                     Boolean isLastChild) {
                 TextView tvChild = (TextView) view.findViewById (android.R.id.text1);
                 TvChild.setText (cursor.getString (Cursor
                         .getColumnIndex (DBHelper.COL_TABLE_CHILD_NAME)));
             }
    
             @Override
             Protected void bindGroupView (Ansichtsansicht, Kontextkontext, Cursor-Cursor,
                     Boolean isExpanded) {
                 TextView tvGrp = (TextView) view.findViewById (android.R.id.text1);
                 TvGrp.setText (cursor.getString (Cursor
                         .getColumnIndex (DBHelper.COL_TABLE_MAIN_NAME)));
             }
    
             @Override
             Geschützter Cursor getChildrenCursor (Cursor groupCursor) {
                 Int groupId = groupCursor.getInt (groupCursor
                         .getColumnIndex (DBHelper.COL_ID));
                 Return aDBHelper.getChildCursor (groupId);
             }
    
             @Override
             Protected View newChildView (Kontextkontext, Cursor-Cursor,
                     Boolean isLastChild, ViewGroup parent) {
                 Ansicht mView = mInflator.inflate (
                         Android.R.layout.simple_expandable_list_item_1, null);
                 TextView tvChild = (TextView) mView
                         .findViewById (android.R.id.text1);
                 TvChild.setText (cursor.getString (Cursor
                         .getColumnIndex (DBHelper.COL_TABLE_CHILD_NAME)));
                 Return mView;
             }
    
             @Override
             Protected View newGroupView (Kontextkontext, Cursor-Cursor,
                     Boolean isExpanded, ViewGroup parent) {
                 Ansicht mView = mInflator.inflate (
                         Android.R.layout.simple_expandable_list_item_1, null);
                 TextView tvGrp = (TextView) mView.findViewById (android.R.id.text1);
                 TvGrp.setText (cursor.getString (Cursor
                         .getColumnIndex (DBHelper.COL_TABLE_MAIN_NAME)));
                 Return mView;
             }
    
         }
    

    Sie müssen dafür keinen Content Provider erstellen.

    1. Erstellen Sie eine DBHelper-Klasse und erstellen Sie Funktionen zum Abrufen von Datensätzen aus Ihrer lokalen Datenbank ohne Content-Provider.
    2. Erstellen Sie eine Modellklasse für das Halten der Datensätze aus Ihrer lokalen Datenbank.
    3. Verwenden Sie diese Modellklasse als Ihre Daten für Ihren Listenadapter.

    Wenn Sie mit der lokalen Datenbank, beste Ansatz ist, mit CursorTreeAdapter gehen, weil es automatisch behandelt Aktualisierung der Liste.

    Überprüfen Sie diesen Beitrag meine Hilfe Sie. ExpandableListView mit CursorTreeAdapter mit in Fragment, Content Provider, LoaderCallbacks und CursorLoader

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.