Я работаю над проектом Android app
в одном из activities
У меня есть spinner
, который я использовал
https://github.com/miteshpithadiya/SearchableSpinner
как я хотел, чтобы мой spinner
можно было отфильтровать по имени элемента, и он отлично работает.
Но я хочу загрузить очень большое количество элементов в мой spinner
(около 70000 элементов). Мой счетчик может загрузить это количество, но это займет слишком много времени, пока мой пользовательский интерфейс ответит.
Я знаю, что есть практики, которые предлагают использовать paging
и другие возможные разрешения, но я не могу использовать их в данный момент, а также я попытался использовать AsyncTask
, чтобы сделать этот процесс процессом background
, но он тоже не работает.
Вот мой код для загрузки элементов в спиннер (кстати, товары ArrayList могут содержать 70000 элементов):
private void prepareProductsSpinner() {
productsSpinner = findViewById(R.id.spinnerProduct);
ArrayList<Good> goods = (ArrayList<Good>) Good.listAll(Good.class);
//fill data in spinner
ArrayAdapter<Good> adapter = new ArrayAdapter<>(AddEditAssetTakingItemActivity.this, android.R.layout.simple_spinner_dropdown_item, goods);
productsSpinner.setAdapter(adapter);
productsSpinner.setTitle("Choose an item");
productsSpinner.setPositiveButton("Select");
}
Как мне решить эту проблему?