Как показать рециклер-просмотр фрагмента из sqlite с помощью курсора и циклов - PullRequest
0 голосов
/ 25 декабря 2018

Я добавил данные о представлении переработчика с курсором на фрагмент в представлении пейджер, но элемент представления переработчика не отображается.Я использую циклы для получения данных из sqlite.

, которые я пытался использовать, и в то время как для цикла, но утилита просмотра все еще не отображается.Я думаю, что может быть никаких данных не существует в sqlite, но после проверки эти данные существуют.

private void prepareNamaNilaiData(String kelas, String mapel) {
    Cursor c = MainActivity.myClass.lihatNamaNilai(kelas, mapel, "Pengetahuan");
    NamaNilai namaNilai[] = new NamaNilai[c.getCount()];
    int i = 0;
    c.moveToFirst();
    if (c.getCount() != 0) {
        while (!c.isAfterLast()) {
            //showMessage("BELUM ADA DATA", "Belum ada nilai pengetahuan "+ c.getString(0) + " pada kelas "+ c.getString(1));
            namaNilai[i] = new NamaNilai(c.getString(0), c.getString(1));
            namaNilaiList.add(namaNilai[i]);
            i++;
            c.moveToNext();
        }
        namaNilaiAdapter.notifyDataSetChanged();
        return;
    } else {
        showMessage("BELUM ADA DATA", "Belum ada nilai pengetahuan " + mapel + " pada kelas " + kelas);
    }
}

И это код, когда я вызываю метод prepareNamaNilaiData

RecyclerView recyclerView = rootView.findViewById(R.id.rvNamaPengetahuan);
    namaNilaiAdapter = new NamaNilaiAdapter(namaNilaiList);
    RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getActivity().getApplicationContext());
    recyclerView.setLayoutManager(layoutManager);
    recyclerView.setItemAnimator(new DefaultItemAnimator());
    recyclerView.setAdapter(namaNilaiAdapter);
    recyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.VERTICAL));

    try {
        String message1 = getArguments().getString(KEY_KELAS);
        String message2 = getArguments().getString(KEY_MAPEL);
        if ((message1 != null) && (message2 != null)) {
            prepareNamaNilaiData(message1,message2);
        } else {
            prepareNamaNilaiData("-", "-");
        }
    } catch (Exception ex) {
        ex.printStackTrace();
    }

Это код курсораЯ позвонил на prepareNamaNilaiData

 public Cursor lihatNamaNilai(String kelas, String mapel, String jenis_nilai) {
    SQLiteDatabase db = this.getWritableDatabase();
    Cursor c = db.rawQuery("SELECT DISTINCT NAMA_NILAI, TANGGAL FROM " + TABLE_Nilai 
                            + " WHERE KELAS = ? AND MAPEL = ? AND JENIS_NILAI = ? ORDER BY NAMA_NILAI"
                            ,new String[] {kelas, mapel, jenis_nilai});
    return c;
}

Я ожидаю, что цикл может показать все данные, необходимые от sqlite до просмотра переработчика.Но данные не отображаются в программе восстановления.

В logcat отсутствует сообщение об ошибке.

1 Ответ

0 голосов
/ 25 декабря 2018

Попробуйте Log.e(“count===“,namaNilaiList.size()), когда цикл завершится, и проверьте ваш адаптер. Возможно, не объявлен LayoutInflater ... просто возможно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...