我有一个Android应用程序,其中一个名为spn2的微调器从数据库中填充。问题是我想获取所选项目的字符串。我已经尝试了很多方法,但它不可能,在某些情况下我没有得到bada和其他棚子一些奇怪的结果,例如,如果我选择“Maria”是由descir获得asdfe @ anssmnn718的字符串,当我想要字符串是“玛丽亚”。代码如下:
final Spinner spn2 = (Spinner)this.findViewById(R.id.spn2);
spn2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, android.view.View v, int position, long id) {
f = spn2.getSelectedItem().toString();
r = String.valueOf((int)spn2.getSelectedItemId());
obtenernombre();
}
public void onNothingSelected(AdapterView<?> var1) {
}
});
方法get name()具有以下代码:
private void obtenernombre() {
// TODO Auto-generated method stub
try {
String[] args = new String[]{r};
baseDatos = openOrCreateDatabase(nombreBD, MODE_WORLD_WRITEABLE, null);
Cursor cur2 = baseDatos.rawQuery("SELECT codigo AS _id, nombre FROM contactos WHERE codigo=?", args);
if (cur2.moveToFirst()) {
do {
Toast.makeText( this, f, Toast.LENGTH_SHORT ).show();
} while (cur2.moveToNext());
}
} catch (Exception e) {
Log.i(TAG, "Error al abrir o crear la base de datos" + e);
}
}
提前感谢您的帮助。
答案 0 :(得分:0)
我自己是一个新的Android开发人员,但我在最近开发的应用程序中使用了几个微调器,我从选定的微调器项目中获取文本的方式是:
String platformInput = platform_spinner.getSelectedItem().toString();
我知道还有其他方法可以做到这一点,但这种方法对我来说效果很好。该行使用“getSelectedItem”来获取微调器选择,然后“toString”将其转换为字符串。然后我可以用我需要的任何方式处理字符串。希望这可以帮助!
迈克