Sqlite 回收器视图 没有适配器连接跳过布局



我没有看到显示的数据库中加载的所有表告诉我回收器视图未附加到布局。

数据库

public class SqliteHelperDB extends SQLiteOpenHelper {
    private static SqliteHelperDB       dbInstance          = null;
    private static SQLiteDatabase   db;
    //TODO NOME DEL DATABASE
    private static final String DATABASE = "Gticket.db";
    //TODO DATABASE VERSION
    private static final int DB_VERSION = 1;
    //TODO OVERRIDE COSTRUCTOR
    public SqliteHelperDB(Context context) {
        super(context, DATABASE, null, DB_VERSION);
    }
    public static SqliteHelperDB getInstance(Context context)
    {
        if (dbInstance == null)
        {
            dbInstance = new SqliteHelperDB(context);
            db = dbInstance.getWritableDatabase();
        }
        return dbInstance;
    }
    //TODO CREAZIONE TicketInfo TABELLA usando SQL query
    @Override
    public void onCreate(SQLiteDatabase db) {
        this.db = db;
        final String SQL_CREATE_QUESTIONS_TABLE = "CREATE TABLE " +
                TABLE_NAME + " ( " +
                TicketTable.T_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
                TicketTable.T_NUMBERT + " TEXT, " +
                TicketTable.T_REDATTORE + " TEXT, " +
                TicketTable.T_TARGA + " TEXT, " +
                TicketTable.T_DATAA + " TEXT, " +
                TicketTable.T_MATERIALE + " TEXT, " +
                TicketTable.T_DATAC + " TEXT" +
                ")";
        db.execSQL(SQL_CREATE_QUESTIONS_TABLE);
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        //TODO rilascio la tabella delle versioni precedenti
        db.execSQL("DROP TABLE IF EXISTS TicketInfo" + TABLE_NAME);
        onCreate(db);
    }
    //TODO AGGIUNGERE UN NUOVO TICKET
     public void saveNewTicket(Ticket newticket){
        SQLiteDatabase db = this.getWritableDatabase();
         ContentValues values = new ContentValues();
         values.put(TicketTable.T_NUMBERT,newticket.getTicket());
         values.put(TicketTable.T_REDATTORE,newticket.getRedattore());
         values.put(TicketTable.T_TARGA,newticket.getTarga());
         values.put(TicketTable.T_DATAA,newticket.getDataApertura());
         values.put(TicketTable.T_MATERIALE,newticket.getMaterialeGuasto());
         values.put(TicketTable.T_DATAC,newticket.getDataChiusura());
         //TODO INSERIMENTO DELLE COLONNE
         db.insert(TABLE_NAME,null,values);
         db.execSQL("DROP TABLE IF EXISTS Ticketinfo" + TABLE_NAME );
         db.close();
     }
     //TODO AGGIORNAMENTO TICKET
    public int UpdateTicket(Ticket newticket){
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(TicketTable.T_NUMBERT,newticket.getTicket());
        values.put(TicketTable.T_REDATTORE,newticket.getRedattore());
        values.put(TicketTable.T_TARGA,newticket.getTarga());
        values.put(TicketTable.T_DATAA,newticket.getDataApertura());
        values.put(TicketTable.T_MATERIALE,newticket.getMaterialeGuasto());
        values.put(TicketTable.T_DATAC,newticket.getDataChiusura());
        //TODO INSERIMENTO DELLE COLONNE
        return  db.update(TABLE_NAME,values, TicketTable.T_ID + " = ? " ,new String[]{String.valueOf(newticket.getId())});
    }
     //TODO ELIMINAZIONE TICKET
    public void DeleteTicketRecord(Ticket newticket){
        SQLiteDatabase db = this.getWritableDatabase();
        db.delete(TABLE_NAME , TicketTable.T_ID + " = ? " ,new String[]{String.valueOf(newticket.getId())});
        db.close();
    }

    public Cursor getAllRecords(){
        db = getReadableDatabase();
        return db.rawQuery("SELECT * FROM  " + TicketTable.TABLE_NAME,null);

    }
    public List<Ticket> getAllTicket() {
        List<Ticket> TicketList = new ArrayList<>();
        //TODO SELEZIONE TUTTA LA QUERY
        String selectQuery = "SELECT * FROM " + TicketTable.TABLE_NAME;
        db = getReadableDatabase();
        Cursor cursor = db.rawQuery(selectQuery,null);
        //TODO looping attraverso tutte le righe e aggiungendo alla lista
        if (cursor.moveToFirst()) {
            do{
                Ticket newticket = new Ticket();
                newticket.setId(cursor.getInt(0));
                newticket.setTicket(cursor.getString(1));
                newticket.setRedattore(cursor.getString(2));
                newticket.setTarga(cursor.getString(3));
                newticket.setDataApertura(cursor.getString(4));
                newticket.setMaterialeGuasto(cursor.getString(5));
                newticket.setDataChiusura(cursor.getString(6));
                //TODO AGGIUNGE TICKET INFORMATION ALLA LISTA
                TicketList.add(newticket);
            }while(cursor.moveToNext());
        }
         cursor.close();
        return TicketList;
    }
}

VISUALIZZA(这里必须通过私有 void populaterecyclerView 显示数据库记录(

public class Visualizza extends AppCompatActivity  {
    private ArrayList<Ticket> adapter;
    private List<Ticket> listTicket;
    private SqliteHelperDB db;
    private TicketAdapter mAdapter;
    private RecyclerView mRecyclerView;
    private RecyclerView.LayoutManager mLayoutManager;
    Toolbar mToolbar;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.recyclerview);
        /*//todo modalita FullScreen
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);*/
        mToolbar = findViewById(R.id.toolbarLayout);
        setSupportActionBar(mToolbar);
        BuildRecyclearView();
        populaterecyclerView();
    }
    //TODO Visualizzzare le schede dal DB
    private void populaterecyclerView() {
        db = SqliteHelperDB.getInstance(this);
        listTicket = db.getAllTicket();
        if (listTicket != null)
        {
            adapter = new ArrayList<Ticket>(listTicket);
            mRecyclerView.setAdapter(mAdapter);
        }
    }


    //TODO Costruzione della RecyclerView
    public void BuildRecyclearView () {
        //todo dichiarazione adapter e chiamiamo il suo costruttore passandogli i parametri necessari
        mRecyclerView = findViewById(R.id.miorecyclerView);
        mRecyclerView.setHasFixedSize(true);
        //todo assegnazione LinearLayoutManager alla RecyclearView
        mLayoutManager = new LinearLayoutManager(this);
        //todo set LinearLayoutManager
        mRecyclerView.setLayoutManager(mLayoutManager);
        //mRecyclerView.setAdapter(mAdapter);
    }
    //TODO Procedura ToolBar Menu
    @Override
    public boolean onCreateOptionsMenu (Menu menu){
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.my_menu, menu);
        MenuItem searchItem = menu.findItem(R.id.action_search);
        SearchView searchView = (SearchView) searchItem.getActionView();
        searchView.setImeOptions(EditorInfo.IME_ACTION_DONE);
        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
                return false;
            }
            @Override
            public boolean onQueryTextChange(String newText) {
                mAdapter.getFilter().filter(newText);
                return false;
            }
        });
        return true;
    }
}

将此添加到您的RecyclerView

app:layoutManager="android.support.v7.widget.LinearLayoutManager" 

最新更新