您好,我是Android新手,我需要一些帮助
我有2个字符串数组:
1是City Name
2是City Code
故事是当ppl单击“自动完成”以选择城市名称时,它将吐司城市代码,
我使用过等于indexOf
,但没有用,有人可以告诉我任何解决方案吗?
答案 0 :(得分:0)
创建City类,其中将包括名称和代码。创建此City类的数组,并仅显示城市名称,然后选择该名称,您还将获得与该城市相关联的代码。
答案 1 :(得分:0)
使用重写equal方法创建自定义类
class City {
private String name,pincode;
public City(String name, String pincode) {
this.name = name;
this.pincode = pincode;
}
public String getPincode(){
return pincode;
}
@Override
public boolean equals(Object obj) {
if(obj instanceof String){
return obj.equals(name);
}else if(obj instanceof City){
return name.equals(((City) obj).name);
}else{
return false;
}
}
}
实施或使用类似的类:
City obj[] = new City[10];
obj[0] = new City("abc","1233");
String pincode;
if(obj[0].equals("abc")) {
pincode=obj[0].getPincode();
}
答案 2 :(得分:0)
此代码可以帮助您解决问题
public ArrayList<City> mListCity;
// add data in City list
if(mListCity != null && mListCity.size() > 0){
mSPCity.setAdapter(new ArrayAdapter<City>(getActivity(), R.layout.dropdonw_listitem,mListCity));
}
class City{
public String mName;
public String mCode;
@Override
public String toString() {
return mName;
}
}
获取选择项 //显示吐司if(mSPCity.getSelectedItem()!= null)mSPCity.getSelectedItem()。mName或mSPCity.getSelectedItem()。mCode 实现微调器的监听器
mSPCity.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
// your code
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});