2014-02-08 40 views
0

我將image uri附加在我的ListView上。我可以將同一個URI的像這樣的:檢查uri是否已經在arraylist中<uri>

enter image description here

我想要做什麼,設定一個條件,如果該圖像URI已經在該列表視圖,我就無法將其固定,如上面的一個(相同的uri)。我正在考慮在array_list.add(uri)之前設置if和else條件;但我不知道檢查圖像uri是否已經存在於listview中可以設置什麼條件。

我該怎麼做?謝謝。

ListView lv; 
ArrayList<Uri> array_list = new ArrayList<Uri>(); 
ArrayAdapter<Uri> array_adapter; 

final int RQS_LOADIMAGE = 0; 

onCreate ... 

Button button1 = (Button) v.findViewById(R.id.button1); 
button1.setOnClickListener(this); 

array_adapter = new ArrayAdapter<Uri>(getActivity(), android.R.layout.simple_list_item_1, array_list); 
lv = (ListView) v.findViewById(R.id.list); 
lv.setAdapter(array_adapter); 

@Override 
    public void onClick(View v) { 

     Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
     startActivityForResult(intent, RQS_LOADIMAGE);       
    } 

    public void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 

     if (requestCode == RQS_LOADIMAGE) { 

      if(resultCode == MainActivity.RESULT_OK) { 
      Uri uri = data.getData(); 
      array_list.add(uri); 
      array_adapter.notifyDataSetChanged(); 
      } 
     } 
    } 
+0

' 「URI已經在ArrayList中」 == 「的ArrayList 包含URI」'現在檢查的ArrayList – Selvin

回答

1

List<T>有一個方法,,它檢查是否存在對象。所以,按照您的要求,

Uri uri = data.getData(); 

if (!array_list.contains(uri)) 
    array_list.add(uri); 
+1

謝謝你,先生..! – luwionline

+0

不客氣... @ –

1

的條件應該是:

if (!your_array_list.contains(uri_text)) 
    your_array_list.add(uri_text); 

所以你之前添加和項目是否已經有一個URI,這個文本檢查。

+1

uri_text的文檔?你的意思是Uri uri_text = data.getData();? – luwionline

+0

我正在使用通用名稱;在你的情況下,這將只是'uri' – nKn