java - 检查自定义 ListView 中的值是否已存在

标签 java android listview android-listview hashmap

我在同一 Activity 中有两个自定义 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;
}
}

最佳答案

可以通过hash map中的key来判断itemID是否已经存在

if(data.containsKey(itemID))
{
  // your code
}

哪里dataHashMap<String, String>对象

关于java - 检查自定义 ListView 中的值是否已存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20510099/

相关文章:

java - ListView - 如何正确配置单元格的显示?

java - 构建路径上的冲突文件

java - 我们可以在java中使用C++类型枚举吗?

java - 什么是 NullPointerException,我该如何解决?

android - fragment 中的 overridePendingTransition

android如何限制ListView中显示的列表项和按钮显示更多

java - 正则表达式:必须以 'id-' 开头但不能等于但可以以 'id-bitcoin' 开头

android - 在 build.gradle 中找不到远程 jar

android:imeOptions 不去确切的下一个 EditText

android - 满足条件时从屏幕底部显示 ListView(所有项目可见)