感谢您的帮助
我尝试使用嵌入式数据库中的数据填充微调器,一切看起来都是正确的:
public ArrayList<String[]> getCountries()
{
ArrayList<String[]> array = new ArrayList<>();
String columnas[] = new String[]{"COUNTRY","COUNTRYCODE"};
Cursor c = db.query("countryCodT",columnas,null,null,null,null,null);
if(c.moveToFirst()){
do{
String[] obj = new String[2];
obj[0]=c.getString(0);
obj[1]=c.getString(1);
array.add(obj);
}while(c.moveToNext());
c.close();
db.close();
}
return array;
}
使用此代码填充微调器:
public void popSpinnerC(){
BDCountries bdCountries = new BDCountries(this);
final ArrayList<String[]> dataGot = bdCountries.getCountries();
ArrayAdapter<String[]> dataAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_dropdown_item,dataGot);
spnCountry.setAdapter(dataAdapter);
spnCountry.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
String listId = Integer.toString(i);
strCounty = listId + dataGot.get(i)[0] + dataGot.get(i)[1];
msgData.setText(strCounty);
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
}
显示的微调文本错误,数据量是正确的,当选择的东西在文本视图中显示正确的信息以及测试目的时,我该如何纠正它? Results:
答案 0 :(得分:1)
微调器选项列表是字符串数组而不是字符串的列表,因此它将每个字符串数组的toString()
打印为微调器项。
查看您的getCountries()
方法。它返回ArrayList<String[]>
而不是ArrayList<String>
。