Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从sqlite数据库中填充listview片段_Android_Sqlite_Fragment_Android Listfragment - Fatal编程技术网

Android 如何从sqlite数据库中填充listview片段

Android 如何从sqlite数据库中填充listview片段,android,sqlite,fragment,android-listfragment,Android,Sqlite,Fragment,Android Listfragment,我被卡住了,无法就如何填写SQLite数据库中的listfragment记录提供建议。我已经尝试了很多教程,但没有一个没有坐下来或失败。我们在创建视图时遇到的最大问题是,理论上我知道如何将Listview放入活动中 在这里加入mainActivity、特定片段和数据库操作类。因为任何帮助都将是最受欢迎的 MainActivity.java package sk.tomino.login; import java.util.Locale; import sk.tomino.login.Nast

我被卡住了,无法就如何填写
SQLite数据库中的
listfragment
记录提供建议。我已经尝试了很多教程,但没有一个没有坐下来或失败。我们在创建视图时遇到的最大问题是,理论上我知道如何将Listview放入活动中

在这里加入mainActivity、特定片段和数据库操作类。因为任何帮助都将是最受欢迎的

MainActivity.java

package sk.tomino.login;

import java.util.Locale;

import sk.tomino.login.NastaveniaActivity;

import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;


public class MainActivity extends FragmentActivity {

    public static final String PREZIVKA = "prezivka";

    MyPagerAdapter mMyPagerAdapter;

    ViewPager mViewPager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Intent i = getIntent();
        String prezivka = getResources().getString(R.string.logged)+" "+i.getStringExtra(PREZIVKA);

        if (prezivka.length()>0)
            Toast.makeText (this, prezivka, Toast.LENGTH_SHORT).show();

        mMyPagerAdapter = new MyPagerAdapter(
                getSupportFragmentManager());

        mViewPager = (ViewPager) findViewById(R.id.pager);
        mViewPager.setAdapter(mMyPagerAdapter);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) 
    {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    /**
     * A {@link FragmentPagerAdapter} that returns a fragment corresponding to
     * one of the sections/tabs/pages.
     */
    public class MyPagerAdapter extends FragmentPagerAdapter {

        public MyPagerAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int position) {

            switch(position){
                 case 0:
                     return UlohaFragment.newInstance();
                 case 1:
                     return PredmetFragment.newInstance();
                 case 2:
                     return PoznamkaFragment.newInstance();
                 case 3:
                     return SviatokFragment.newInstance();
                 default: 
                     return UlohaFragment.newInstance();
            }
        }

        @Override
        public int getCount() {
            // Show 4 total pages.
            return 4;
        }

        @Override
        public CharSequence getPageTitle(int position) {
            Locale l = Locale.getDefault();
            switch (position) {
            case 0:
                return getString(R.string.title_section1).toUpperCase(l);
            case 1:
                return getString(R.string.title_section2).toUpperCase(l);
            case 2:
                return getString(R.string.title_section3).toUpperCase(l);
            case 3:
                return getString(R.string.title_section4).toUpperCase(l);
            }
            return null;
        }
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle presses on the action bar items
        switch (item.getItemId()) {
            case R.id.action_pridat:
                openPridaj();
                return true;
            case R.id.action_hladat:
                openHladaj();
                return true;
            case R.id.action_settings:
                openSettings();
                return true;
            case R.id.action_app:
                openApp();
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }

    public void openPridaj()
    {
        Intent intent = new Intent(this, PridajActivity.class);
        startActivity(intent);  
    }

    public void openHladaj()
    {
        Intent intent = new Intent(this, HladajActivity.class);
        startActivity(intent);  
    }

    public void openSettings()
    {
        Intent intent = new Intent(this, NastaveniaActivity.class);
        startActivity(intent);  
    }

    public void openApp()
    {
        Intent intent = new Intent(this, AppActivity.class);
        startActivity(intent);
    }
}
package sk.tomino.login;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class PoznamkaFragment extends Fragment 
{   
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.poznamka_frag, container, false);
        return v;
    }

   public static PoznamkaFragment newInstance() {

       PoznamkaFragment f = new PoznamkaFragment();
        return f;
    }
}
package sk.tomino.login;

import android.app.Application;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DatabaseOp extends Application 
{
    protected static final String DATABASE_NAME = "student_diar";
    protected static final int DATABASE_VERSION = 1;

    private static final String DATABASE_CREATE = 
            "CREATE TABLE user (meno varchar NOT NULL, heslo varchar NOT NULL,CONSTRAINT Key1 PRIMARY KEY (meno));"
          + "CREATE TABLE udalost (id int NOT NULL ,meno varchar NOT NULL, typ int NOT NULL, nazov varchar NOT NULL,"
          + "datum date NOT NULL, poznamka varchar, hodina time, dlzka int, poloha varchar,"
          + "CONSTRAINT Key6 PRIMARY KEY (id,meno),CONSTRAINT ma FOREIGN KEY (meno) REFERENCES User (meno));";

    private final Context mCtx;
    private SQLiteDatabase mDb;
    private DatabaseHelper mDbHelper;

    private static class DatabaseHelper extends SQLiteOpenHelper {

        DatabaseHelper(Context context) {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
        }

        @Override
        public void onCreate(SQLiteDatabase db) 
        {
            db.execSQL(DATABASE_CREATE);
        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 
        {
            db.execSQL("DROP TABLE IF EXISTS udalost, user");
            onCreate(db);
        }
    }

    public DatabaseOp(Context ctx) {
        this.mCtx = ctx;
    }

    public DatabaseOp open () throws SQLException 
    {
        mDbHelper = new DatabaseHelper (mCtx);
        mDb = mDbHelper.getWritableDatabase();
        return this;
    }

    public void close()
    {
        mDbHelper.close();
    }

    public long createNote (String nazov, String poznamka)
    {
        ContentValues initialValues = new ContentValues ();

        initialValues.put("nazov", nazov);
        initialValues.put("poznamka", poznamka);
        //initialValues.put("typ", typ);

        return mDb.insert("udalost", null, initialValues);
    }

    public boolean deleteNote (long rowId)
    {
        return mDb.delete("udalost", "id"+"="+rowId, null) > 0;
    }

    public Cursor fetchAllNotes ()
    {
        return mDb.rawQuery("select * from udalost;", null);
        //return mDb.rawQuery("select * from udalost where typ = 2;", null);
    }

    public Cursor fetchNote(long rowId) throws SQLException 
    {
        Cursor mCursor = mDb.rawQuery("select * from udalost where id = "+rowId+";", null);

        if (mCursor != null) 
        {
            mCursor.moveToFirst();
        }

        return mCursor;
    }

    public boolean updateNote(long rowId, String nazov, String poznamka) 
    {
        ContentValues args = new ContentValues();

        args.put("nazov", nazov);
        args.put("poznamka", poznamka);

        return mDb.update("udalost", args, "id" + "=" + rowId, null) > 0;
    }
}
PoznamkaFragment.java

package sk.tomino.login;

import java.util.Locale;

import sk.tomino.login.NastaveniaActivity;

import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;


public class MainActivity extends FragmentActivity {

    public static final String PREZIVKA = "prezivka";

    MyPagerAdapter mMyPagerAdapter;

    ViewPager mViewPager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Intent i = getIntent();
        String prezivka = getResources().getString(R.string.logged)+" "+i.getStringExtra(PREZIVKA);

        if (prezivka.length()>0)
            Toast.makeText (this, prezivka, Toast.LENGTH_SHORT).show();

        mMyPagerAdapter = new MyPagerAdapter(
                getSupportFragmentManager());

        mViewPager = (ViewPager) findViewById(R.id.pager);
        mViewPager.setAdapter(mMyPagerAdapter);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) 
    {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    /**
     * A {@link FragmentPagerAdapter} that returns a fragment corresponding to
     * one of the sections/tabs/pages.
     */
    public class MyPagerAdapter extends FragmentPagerAdapter {

        public MyPagerAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int position) {

            switch(position){
                 case 0:
                     return UlohaFragment.newInstance();
                 case 1:
                     return PredmetFragment.newInstance();
                 case 2:
                     return PoznamkaFragment.newInstance();
                 case 3:
                     return SviatokFragment.newInstance();
                 default: 
                     return UlohaFragment.newInstance();
            }
        }

        @Override
        public int getCount() {
            // Show 4 total pages.
            return 4;
        }

        @Override
        public CharSequence getPageTitle(int position) {
            Locale l = Locale.getDefault();
            switch (position) {
            case 0:
                return getString(R.string.title_section1).toUpperCase(l);
            case 1:
                return getString(R.string.title_section2).toUpperCase(l);
            case 2:
                return getString(R.string.title_section3).toUpperCase(l);
            case 3:
                return getString(R.string.title_section4).toUpperCase(l);
            }
            return null;
        }
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle presses on the action bar items
        switch (item.getItemId()) {
            case R.id.action_pridat:
                openPridaj();
                return true;
            case R.id.action_hladat:
                openHladaj();
                return true;
            case R.id.action_settings:
                openSettings();
                return true;
            case R.id.action_app:
                openApp();
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }

    public void openPridaj()
    {
        Intent intent = new Intent(this, PridajActivity.class);
        startActivity(intent);  
    }

    public void openHladaj()
    {
        Intent intent = new Intent(this, HladajActivity.class);
        startActivity(intent);  
    }

    public void openSettings()
    {
        Intent intent = new Intent(this, NastaveniaActivity.class);
        startActivity(intent);  
    }

    public void openApp()
    {
        Intent intent = new Intent(this, AppActivity.class);
        startActivity(intent);
    }
}
package sk.tomino.login;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class PoznamkaFragment extends Fragment 
{   
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.poznamka_frag, container, false);
        return v;
    }

   public static PoznamkaFragment newInstance() {

       PoznamkaFragment f = new PoznamkaFragment();
        return f;
    }
}
package sk.tomino.login;

import android.app.Application;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DatabaseOp extends Application 
{
    protected static final String DATABASE_NAME = "student_diar";
    protected static final int DATABASE_VERSION = 1;

    private static final String DATABASE_CREATE = 
            "CREATE TABLE user (meno varchar NOT NULL, heslo varchar NOT NULL,CONSTRAINT Key1 PRIMARY KEY (meno));"
          + "CREATE TABLE udalost (id int NOT NULL ,meno varchar NOT NULL, typ int NOT NULL, nazov varchar NOT NULL,"
          + "datum date NOT NULL, poznamka varchar, hodina time, dlzka int, poloha varchar,"
          + "CONSTRAINT Key6 PRIMARY KEY (id,meno),CONSTRAINT ma FOREIGN KEY (meno) REFERENCES User (meno));";

    private final Context mCtx;
    private SQLiteDatabase mDb;
    private DatabaseHelper mDbHelper;

    private static class DatabaseHelper extends SQLiteOpenHelper {

        DatabaseHelper(Context context) {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
        }

        @Override
        public void onCreate(SQLiteDatabase db) 
        {
            db.execSQL(DATABASE_CREATE);
        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 
        {
            db.execSQL("DROP TABLE IF EXISTS udalost, user");
            onCreate(db);
        }
    }

    public DatabaseOp(Context ctx) {
        this.mCtx = ctx;
    }

    public DatabaseOp open () throws SQLException 
    {
        mDbHelper = new DatabaseHelper (mCtx);
        mDb = mDbHelper.getWritableDatabase();
        return this;
    }

    public void close()
    {
        mDbHelper.close();
    }

    public long createNote (String nazov, String poznamka)
    {
        ContentValues initialValues = new ContentValues ();

        initialValues.put("nazov", nazov);
        initialValues.put("poznamka", poznamka);
        //initialValues.put("typ", typ);

        return mDb.insert("udalost", null, initialValues);
    }

    public boolean deleteNote (long rowId)
    {
        return mDb.delete("udalost", "id"+"="+rowId, null) > 0;
    }

    public Cursor fetchAllNotes ()
    {
        return mDb.rawQuery("select * from udalost;", null);
        //return mDb.rawQuery("select * from udalost where typ = 2;", null);
    }

    public Cursor fetchNote(long rowId) throws SQLException 
    {
        Cursor mCursor = mDb.rawQuery("select * from udalost where id = "+rowId+";", null);

        if (mCursor != null) 
        {
            mCursor.moveToFirst();
        }

        return mCursor;
    }

    public boolean updateNote(long rowId, String nazov, String poznamka) 
    {
        ContentValues args = new ContentValues();

        args.put("nazov", nazov);
        args.put("poznamka", poznamka);

        return mDb.update("udalost", args, "id" + "=" + rowId, null) > 0;
    }
}
DatabaseOp.java

package sk.tomino.login;

import java.util.Locale;

import sk.tomino.login.NastaveniaActivity;

import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;


public class MainActivity extends FragmentActivity {

    public static final String PREZIVKA = "prezivka";

    MyPagerAdapter mMyPagerAdapter;

    ViewPager mViewPager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Intent i = getIntent();
        String prezivka = getResources().getString(R.string.logged)+" "+i.getStringExtra(PREZIVKA);

        if (prezivka.length()>0)
            Toast.makeText (this, prezivka, Toast.LENGTH_SHORT).show();

        mMyPagerAdapter = new MyPagerAdapter(
                getSupportFragmentManager());

        mViewPager = (ViewPager) findViewById(R.id.pager);
        mViewPager.setAdapter(mMyPagerAdapter);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) 
    {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    /**
     * A {@link FragmentPagerAdapter} that returns a fragment corresponding to
     * one of the sections/tabs/pages.
     */
    public class MyPagerAdapter extends FragmentPagerAdapter {

        public MyPagerAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int position) {

            switch(position){
                 case 0:
                     return UlohaFragment.newInstance();
                 case 1:
                     return PredmetFragment.newInstance();
                 case 2:
                     return PoznamkaFragment.newInstance();
                 case 3:
                     return SviatokFragment.newInstance();
                 default: 
                     return UlohaFragment.newInstance();
            }
        }

        @Override
        public int getCount() {
            // Show 4 total pages.
            return 4;
        }

        @Override
        public CharSequence getPageTitle(int position) {
            Locale l = Locale.getDefault();
            switch (position) {
            case 0:
                return getString(R.string.title_section1).toUpperCase(l);
            case 1:
                return getString(R.string.title_section2).toUpperCase(l);
            case 2:
                return getString(R.string.title_section3).toUpperCase(l);
            case 3:
                return getString(R.string.title_section4).toUpperCase(l);
            }
            return null;
        }
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle presses on the action bar items
        switch (item.getItemId()) {
            case R.id.action_pridat:
                openPridaj();
                return true;
            case R.id.action_hladat:
                openHladaj();
                return true;
            case R.id.action_settings:
                openSettings();
                return true;
            case R.id.action_app:
                openApp();
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }

    public void openPridaj()
    {
        Intent intent = new Intent(this, PridajActivity.class);
        startActivity(intent);  
    }

    public void openHladaj()
    {
        Intent intent = new Intent(this, HladajActivity.class);
        startActivity(intent);  
    }

    public void openSettings()
    {
        Intent intent = new Intent(this, NastaveniaActivity.class);
        startActivity(intent);  
    }

    public void openApp()
    {
        Intent intent = new Intent(this, AppActivity.class);
        startActivity(intent);
    }
}
package sk.tomino.login;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class PoznamkaFragment extends Fragment 
{   
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.poznamka_frag, container, false);
        return v;
    }

   public static PoznamkaFragment newInstance() {

       PoznamkaFragment f = new PoznamkaFragment();
        return f;
    }
}
package sk.tomino.login;

import android.app.Application;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DatabaseOp extends Application 
{
    protected static final String DATABASE_NAME = "student_diar";
    protected static final int DATABASE_VERSION = 1;

    private static final String DATABASE_CREATE = 
            "CREATE TABLE user (meno varchar NOT NULL, heslo varchar NOT NULL,CONSTRAINT Key1 PRIMARY KEY (meno));"
          + "CREATE TABLE udalost (id int NOT NULL ,meno varchar NOT NULL, typ int NOT NULL, nazov varchar NOT NULL,"
          + "datum date NOT NULL, poznamka varchar, hodina time, dlzka int, poloha varchar,"
          + "CONSTRAINT Key6 PRIMARY KEY (id,meno),CONSTRAINT ma FOREIGN KEY (meno) REFERENCES User (meno));";

    private final Context mCtx;
    private SQLiteDatabase mDb;
    private DatabaseHelper mDbHelper;

    private static class DatabaseHelper extends SQLiteOpenHelper {

        DatabaseHelper(Context context) {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
        }

        @Override
        public void onCreate(SQLiteDatabase db) 
        {
            db.execSQL(DATABASE_CREATE);
        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 
        {
            db.execSQL("DROP TABLE IF EXISTS udalost, user");
            onCreate(db);
        }
    }

    public DatabaseOp(Context ctx) {
        this.mCtx = ctx;
    }

    public DatabaseOp open () throws SQLException 
    {
        mDbHelper = new DatabaseHelper (mCtx);
        mDb = mDbHelper.getWritableDatabase();
        return this;
    }

    public void close()
    {
        mDbHelper.close();
    }

    public long createNote (String nazov, String poznamka)
    {
        ContentValues initialValues = new ContentValues ();

        initialValues.put("nazov", nazov);
        initialValues.put("poznamka", poznamka);
        //initialValues.put("typ", typ);

        return mDb.insert("udalost", null, initialValues);
    }

    public boolean deleteNote (long rowId)
    {
        return mDb.delete("udalost", "id"+"="+rowId, null) > 0;
    }

    public Cursor fetchAllNotes ()
    {
        return mDb.rawQuery("select * from udalost;", null);
        //return mDb.rawQuery("select * from udalost where typ = 2;", null);
    }

    public Cursor fetchNote(long rowId) throws SQLException 
    {
        Cursor mCursor = mDb.rawQuery("select * from udalost where id = "+rowId+";", null);

        if (mCursor != null) 
        {
            mCursor.moveToFirst();
        }

        return mCursor;
    }

    public boolean updateNote(long rowId, String nazov, String poznamka) 
    {
        ContentValues args = new ContentValues();

        args.put("nazov", nazov);
        args.put("poznamka", poznamka);

        return mDb.update("udalost", args, "id" + "=" + rowId, null) > 0;
    }
}
  • 设置包含listView的布局文件

  • 将此
    列表视图
    以正常片段充气

  • 使用
    CursorAdapter
    填充列表并将其设置为自定义适配器 名单


要做到这一点,请使用常用教程。

您的listfragment在哪里,或者您尝试在哪里填充它?确切地说,对于listfragment,我还没有,但我使用了很多教程来填充activity fullfilling,只有开发人员提供的那种类型,因此。。。我不知道如何使用这种类型,因为您的代码中没有任何内容来填充listfragment。所以我不明白,你的问题是什么。