获取所选项目字符串

时间:2014-01-28 02:29:41

标签: android string cursor

我有一个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);
     }
}

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我自己是一个新的Android开发人员,但我在最近开发的应用程序中使用了几个微调器,我从选定的微调器项目中获取文本的方式是:

String platformInput = platform_spinner.getSelectedItem().toString();

我知道还有其他方法可以做到这一点,但这种方法对我来说效果很好。该行使用“getSelectedItem”来获取微调器选择,然后“toString”将其转换为字符串。然后我可以用我需要的任何方式处理字符串。希望这可以帮助!

迈克