我在Activity 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);
答案 0 :(得分:1)
除非不选择不手动操作,即没有:
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...
答案 1 :(得分:0)
首先获取从上一个活动传递的列表索引。将所有值添加到列表后,然后将其设置为选中的微调器值,如:
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);