2013-12-11 191 views
1

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

你在哪里调用listOrder方法? –

+0

@Tamanna onItemClick – user3040029

+0

第一个listview然后你会得到什么?你可以检查哈希映射中的键来检查f条目ID是否已经存在 –

回答

2

您可以为您在哈希表的关键,检查ITEMID已经存在与否

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

其中dataHashMap<String, String>对象

+0

对不起,实际上我在执行此检查MainActivity或我的课程时感到困惑。你有没有关于containskey建议的例子?谢谢! – user3040029

+0

你可以根据你的需要来检查 –