Пользовательский класс ArrayList
ArrayList<ItemClass> nomenclatureList
Для него есть onItemClickListener
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
ItemClass word = nomenclatureList.get(position);
int singleImg = word.getImageResourse();
String singleName = word.getNomenclatureName();
String singleWeight = word.getNomenclatureWeight();
String singleBrand = word.getNomeclatureBrand();
String singleBar = word.getNomenclatureBarCode();
String singlePercent = word.getNomenclaturePercent();
String singleComposition = word.getNomenclatureComposition();
String singlePack = word.getNomenclaturePack();
Intent intent = new Intent(ItemListGKI.this, ItemSingle.class);
intent.putExtra("SINGLE_IMG_KEY", singleImg);
intent.putExtra("SINGLE_NAME_KEY", singleName);
intent.putExtra("SINGLE_WEIGHT_KEY", singleWeight);
intent.putExtra("SINGLE_BRAND_KEY", singleBrand);
intent.putExtra("SINGLE_BAR_KEY", singleBar);
intent.putExtra("SINGLE_PERCENT_KEY", singlePercent);
intent.putExtra("SINGLE_COMPOSITION_KEY", singleComposition);
intent.putExtra("SINGLE_PACK_KEY", singlePack);
startActivity(intent);
}
});
И есть код для поиска из этого ArrayList
@Override
public boolean onQueryTextChange(String newText) {
boolean success = false;
ArrayList<String> tempList = new ArrayList<>();
for(ItemClass temp : nomenclatureList){
if(temp.getNomenclatureName().toLowerCase().contains(newText.toLowerCase())){
tempList.add(temp.getNomenclatureName());
ArrayAdapter<String> adapter = new ArrayAdapter<>(ItemListGKI.this, android.R.layout.simple_list_item_1, tempList);
listView.setAdapter(adapter);
tempList.size();
success = true;
}
}
return success;
}
И когда я нажимаю на результат поиска, открывается активность с неверной информацией. Если я нажимаю на элемент без поиска - все в порядке.
Я не знаю, что я должен сделать, чтобы это исправить.