检查自定义listview中的值是否已经存在
问题描述:
我在同一活动中有两个自定义listview。然后,第二个listview可以获得从第一个listview中选择的itemValue和itemID。那么现在,我该如何检查itemID是否已经存在于第二个listview中?提前致谢。检查自定义listview中的值是否已经存在
这是我第二次列表视图
private void listOrder(String itemValue, String itemID)
{
HashMap<String, String> map = new HashMap<String, String>();
String quantity = "1";
map.put(FOODID3, itemID);
map.put(FOODNAME3, itemValue);
map.put(FOODQUANTITY3, quantity);
LIST3.add(map);
LISTORDER = (ListView) findViewById(R.id.listOrder);
List3Adapter adapter = new List3Adapter(MainActivity.this, LIST3);
LISTORDER.setAdapter(adapter);
adapter.notifyDataSetChanged();
LISTORDER.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
}
});
}
这是班上的ListView
public class List3Adapter extends BaseAdapter {
private Activity activity;
private ArrayList<HashMap<String, String>> data;
private static LayoutInflater inflater=null;
public List3Adapter(Activity a, ArrayList<HashMap<String, String>> d)
{
activity = a;
data = d;
inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return data.size();
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
View vi = convertView;
if (convertView == null)
{
vi = inflater.inflate(R.layout.row, null);
}
TextView foodID3 = (TextView)vi.findViewById(R.id.foodID3);
TextView foodname3 = (TextView)vi.findViewById(R.id.foodName3);
TextView foodquantity3 = (TextView)vi.findViewById(R.id.foodQuantity3);
HashMap<String,String> food = new HashMap<String, String>();
food = data.get(position);
foodID3.setText(food.get(MainActivity.FOODID3));
foodname3.setText(food.get(MainActivity.FOODNAME3));
foodquantity3.setText(food.get(MainActivity.FOODQUANTITY3));
return vi;
}
}
答
您可以为您在哈希表的关键,检查ITEMID已经存在与否
if(data.containsKey(itemID))
{
// your code
}
其中data
是HashMap<String, String>
对象
+0
对不起,实际上我在执行此检查MainActivity或我的课程时感到困惑。你有没有关于containskey建议的例子?谢谢! – user3040029
+0
你可以根据你的需要来检查 –
你在哪里调用listOrder方法? –
@Tamanna onItemClick – user3040029
第一个listview然后你会得到什么?你可以检查哈希映射中的键来检查f条目ID是否已经存在 –