Android spinner避免列表中的相同数据

Android spinner避免列表中的相同数据,android,spinner,Android,Spinner,我在活动1中有两个活动,当我单击某个特定项目时,下一个活动启动时,微调器位于单击的值内,但下面的数据是重复的。如何在我的字符串传递方法中避免重复。请帮助我 活动1 View.OnClickListener enquiry_mercedez= new View.OnClickListener() { public void onClick(View v) { // it was the 1st button In

我在活动1中有两个活动,当我单击某个特定项目时,下一个活动启动时,微调器位于单击的值内,但下面的数据是重复的。如何在我的字符串传递方法中避免重复。请帮助我

活动1

 View.OnClickListener enquiry_mercedez= new View.OnClickListener() {
            public void onClick(View v) {
              // it was the 1st button
                Intent intent = new Intent(v.getContext(), VehicleEnquiry.class);
                String proname="Mercedes S CLASS";
                intent.putExtra("vehicle", proname);
                startActivity(intent);

            }
          };  
活动2

 final String id = getIntent().getStringExtra("vehicle");    
ArrayAdapter<String> adapter;
            List<String> list;

            list = new ArrayList<String>();
            int index=list.indexOf(id);
            list.setSelection(index);
            list.add("Mercedes A CLASS");
            list.add("Mercedes B CLASS");
            list.add("Mercedes C CLASS");
            list.add("Mercedes S CLASS");

            adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, list);
            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            s1.setAdapter(adapter);
final String id=getIntent().getStringExtra(“车辆”);
阵列适配器;
名单;
列表=新的ArrayList();
int index=list.indexOf(id);
名单.选举(索引);
列表。添加(“梅赛德斯A级”);
列表。添加(“奔驰B级”);
列表。添加(“梅赛德斯C级”);
列表。添加(“梅赛德斯S级”);
适配器=新阵列适配器(此,
android.R.layout.simple\u微调器\u项目,列表);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
s1.设置适配器(适配器);

首先获取上一个活动传递的列表索引。将所有值添加到列表后,将其设置为选定微调器值,如下所示:

final String id = getIntent().getStringExtra("vehicle");    
ArrayAdapter<String> adapter;
        List<String> list;

        list = new ArrayList<String>();
        list.add("Mercedes A CLASS");
        list.add("Mercedes B CLASS");
        list.add("Mercedes C CLASS");
        list.add("Mercedes S CLASS");

        adapter = new ArrayAdapter<String>(this,
        android.R.layout.simple_spinner_item, list);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        s1.setAdapter(adapter);
        int index=list.IndexOf(id);

s1.setSelection(index);
final String id=getIntent().getStringExtra(“车辆”);
阵列适配器;
名单;
列表=新的ArrayList();
列表。添加(“梅赛德斯A级”);
列表。添加(“奔驰B级”);
列表。添加(“梅赛德斯C级”);
列表。添加(“梅赛德斯S级”);
适配器=新阵列适配器(此,
android.R.layout.simple\u微调器\u项目,列表);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
s1.设置适配器(适配器);
int index=list.IndexOf(id);
s1.选举(指数);

除了不选择不手动操作,即没有:

String proname="Mercedes S CLASS";
  intent.putExtra("vehicle", proname);  
在第二个活动中,添加所需的元素,然后检查
proname
是否与其中任何元素匹配。添加或不添加到相应的列表中

    final String id = getIntent().getStringExtra("vehicle");   
    list = new ArrayList<String>();
    list.add("Mercedes A CLASS");
    list.add("Mercedes B CLASS");
    list.add("Mercedes C CLASS");
    list.add("Mercedes S CLASS");

    boolean isInList =false;
    for (String string : list) {
        if(TextUtils.equals(string, id)){
            isInList = true;
        }
    }

    if(!isInList){
    list.add(id);
    }
//Rest of the code...
final String id=getIntent().getStringExtra(“车辆”);
列表=新的ArrayList();
列表。添加(“梅赛德斯A级”);
列表。添加(“奔驰B级”);
列表。添加(“梅赛德斯C级”);
列表。添加(“梅赛德斯S级”);
布尔isInList=false;
用于(字符串:列表){
if(TextUtils.equals(string,id)){
isInList=真;
}
}
如果(!isInList){
列表。添加(id);
}
//代码的其余部分。。。

在第二个活动中,您正在添加第一个活动中传递的值。并且在arraylist项中添加两次传递的值。这就是您获取重复值的原因。当您从intent检索字符串数据时,它有一个值
Mercedes S CLASS
,那么为什么您要使用此
列表手动将其添加到
VehicleQuery
类中。添加(“Mercedes S CLASS”)这正是我需要的,但它不起作用,请检查我更新的代码,看看我是如何更新您的建议的。@AshfaqBinNazar欢迎您,您可以接受这个答案。:)