Не показывает данные из SQLite в LISTVIEW - PullRequest
1 голос
/ 23 февраля 2020

Я получаю данные из SQLite и показываю их в виде списка, но они не работают,

То же самое работает нормально с видом корзины, но не с списком,

Может кто-то поможет мне, где я ошибаюсь.

Я пробовал много разных вариантов, но ничего не работает.

// Основной класс

public class DeviceScanActivity extends ListActivity{

SQLiteDatabase mDatabase;
DatabaseHelper databaseHelper;
private LeDeviceListAdapter mLeDeviceListAdapter;
 .................

    databaseHelper = new DatabaseHelper(this);
    mDatabase = databaseHelper.getWritableDatabase();

    mLeDeviceListAdapter = new LeDeviceListAdapter(this, getAllItems());

    setListAdapter(mLeDeviceListAdapter);



private Cursor getAllItems() {

    Cursor cursor = mDatabase.query(TABLE_NAME,
            new String[] {COL1, COL2, COL3, COL4, COL5},
            null, null, null, null, null);
    cursor.moveToFirst();
    return cursor;

}



}

// Адаптер списка просмотра

public class LeDeviceListAdapter extends BaseAdapter {
  private Cursor accounts;

  SQLiteDatabase db;
  public View getView(int i, View view, ViewGroup viewGroup) {
    ViewHolder viewHolder;
    // General ListView optimization code.
    if (view == null) {
        view = mInflator.inflate(R.layout.listitem_device, null);
        viewHolder = new ViewHolder();
        viewHolder.deviceAddress = view
                .findViewById(R.id.device_address);
        viewHolder.deviceName = view
                .findViewById(R.id.device_name);
        viewHolder.deviceState = view
                .findViewById(R.id.device_state);
        viewHolder.deviceRssiRslt = view
                .findViewById(R.id.deviceTestResult);
        view.setTag(viewHolder);
    } else {
        viewHolder = (ViewHolder) view.getTag();
    }

    TIBLEPerperal device = mContext.getBlePerp(i);
    if (device == null) {
        return null;
    }


    final String id = accounts.getString(accounts.getColumnIndex(COL1));
    final String beaconname = accounts.getString(accounts.getColumnIndex(COL2));
    final String BEACONTYPE = accounts.getString(accounts.getColumnIndex(COL3));
    final String BEACONCONN = accounts.getString(accounts.getColumnIndex(COL4));
    final String BEACONMAC = accounts.getString(accounts.getColumnIndex(COL5));

    if (id!=null){
        viewHolder.deviceName.setText(beaconname);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...