Member 12853279 Ответов: 1

Как показать данные из базы данных sqlite с помощью listview


Я пытаюсь заполнить listView из базы данных sqlite в android с помощью адаптера CustomCursor. Проблема в том, что мой listView ничего не показывает, когда я запускаю программу. Отображается только пустой список.

Что я уже пробовал:

package com.pass;


import android.app.ProgressDialog;
import android.database.Cursor;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CursorAdapter;
import android.widget.ListView;


/**
 * A simple {@link Fragment} subclass.
 */
public class SiteFragment extends Fragment {
    ListView allSites;
    ProgressDialog progressDialogue;
    Cursor cursor;

    public SiteFragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        // Inflate the layout for this fragment
        View view = inflater.inflate(R.layout.fragment_site, container, false);
        allSites = (ListView) view.findViewById(R.id.LIST_SITES);
        SiteCursorAdapter adapter = new SiteCursorAdapter(getActivity(), cursor);
        allSites.setAdapter(adapter);
        return view;
    }
    @Override
    public void onStart() {
        super.onStart();
        new FetchSitesAsynch().execute();
    }
    private class FetchSitesAsynch extends AsyncTask<Void, Void, Void>{

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            progressDialogue = new ProgressDialog(getActivity());
            progressDialogue.setTitle("Retrieving Sites Info");
            progressDialogue.setMessage("Please Wait...");
            progressDialogue.setCancelable(true);
            progressDialogue.setIndeterminate(true);

            progressDialogue.show();
        }

        @Override
        protected Void doInBackground(Void... params) {
            Database database = new Database(getActivity());
            //database.getAll();
            cursor = database.getAllSitesInfo();
            Log.d("Site Fetched", "Note");
            return null;
        }

        @Override
        protected void onProgressUpdate(Void... values) {
            super.onProgressUpdate(values);
        }

        @Override
        protected void onPostExecute(Void aVoid) {
            super.onPostExecute(aVoid);
            if (progressDialogue != null)
                progressDialogue.dismiss(); // close dialog

        }
    }
}

1 Ответов

Рейтинг:
0

Ngo Tuong Dan

Привет вы можете увидеть в моем видео на youtube [Android studio] 24. SQLite GetImage TakePicture-YouTube[^]