【发布时间】:2018-08-24 13:00:51
【问题描述】:
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;
}
当我点击搜索结果项目时,打开的活动信息错误。如果我在不使用搜索的情况下单击项目 - 一切正常。
我不知道我必须做些什么来修复它。
【问题讨论】:
-
我必须把它放在哪里?
-
adapterView.getAdapter().getItem(position) 不工作。
-
我添加了一个新的解决方案,我认为它现在可以工作了
标签: java android search arraylist