我在我的ListView上附加图片uri。我可以像这样附上相同的uri:
我想要做的是设置一个条件,如果该图像uri已经在列表视图上,我将无法像上面那样(相同的uri)附加它。我正在考虑在array_list.add(uri)之前设置if和else条件;但是我不知道在检查列表视图中是否已经存在图像uri时可以设置什么条件。
我该怎么做?感谢。
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 :(得分:1)
条件应该是:
if (!your_array_list.contains(uri_text))
your_array_list.add(uri_text);
因此,您在添加之前检查并确定是否已存在包含该文本的URI。
答案 1 :(得分:1)
List<T>
有一个方法contains()
,用于检查对象是否存在。所以,根据您的要求,
Uri uri = data.getData();
if (!array_list.contains(uri))
array_list.add(uri);