Пользовательский счетчик запрос в Realm Android - PullRequest
0 голосов
/ 10 февраля 2020

Мне нужна помощь в исправлении исходного кода для вертушки с множественным выбором,

Мне нужно получить все элементы, определенные в моем массиве. Список идентификаторов. Единственный способ, которым я считаю, - реализовать мой запрос. Но я не могу заставить его работать. Вот мой пример кода.

private void initCustomSpinner() {
        final Realm realm = Realm.getDefaultInstance();
        RealmResults<AssetBatch> assetBatches = realm
                .where(AssetBatch.class)
//                .distinct("locationid")
                .findAll();

        // Spinner Drop down elements
        ArrayList<String> location = new ArrayList<String>();
        for (AssetBatch x : assetBatches) {
            location.add(x.getLocationid() + "-" + x.getBatchname());
        }
        final CustomSpinnerAdapter customSpinnerAdapter = new CustomSpinnerAdapter(this, location);

        //deselects item;
        spinnerCustom.setAdapter(customSpinnerAdapter);
        spinnerCustom.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                AssetBatch assetBatch = realm
                        .where(AssetBatch.class)
                        .equalTo("locationid", parent.getItemAtPosition(position).toString().substring(0, parent.getItemAtPosition(position).toString().lastIndexOf("-")))
                        .findFirst();
                //Toast.makeText(SyncActivity.this, customSpinnerAdapter.getItem(position).toString(), Toast.LENGTH_SHORT).show();
                String plantCode = parent.getItemAtPosition(position).toString();
                //Toast.makeText(SyncActivity.this, plantCode.substring(0, plantCode.lastIndexOf(":")), Toast.LENGTH_SHORT).show();
                batch.setText(String.format(getResources().getString(R.string.batch_no), assetBatch.getBatchnumber()));
                plant.setText(String.format(getResources().getString(R.string.plant_code), parent.getItemAtPosition(position).toString()));
                _batchId = assetBatch.getAssetbatchid();
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });

    }
...