Android spinner避免列表中的相同数据
我在活动1中有两个活动,当我单击某个特定项目时,下一个活动启动时,微调器位于单击的值内,但下面的数据是重复的。如何在我的字符串传递方法中避免重复。请帮助我 活动1Android 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
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欢迎您,您可以接受这个答案。:)