Android如何选择一个不可见的微调器

时间:2011-01-28 13:28:19

标签: android sqlite spinner

我无法解决问题。在我的应用程序中,我有一个微调器,用户选择一个答案,然后该答案将传递给下一个活动。但是,我真正想要的是在该活动上传递的答案的ID ...也许看到代码会有所帮助......

db = dbs.getReadableDatabase();     
    String SQL = "SELECT * FROM answer table"; 
    Cursor cursor = db.rawQuery(SQL, null); 
    startManagingCursor(cursor);
    final int l = cursor.getCount();
    int j = l + 1;
    array_spinner = new String[j];
    invisible_array_spinner = new String[j];
    int i = 1;
    array_spinner[0] = "Please select from below";
    invisible_array_spinner[0] = "Please select from below";
    while (cursor.moveToNext()) {
     array_spinner[i]= cursor.getString(2);
     invisible_array_spinner[i]= cursor.getString(1);
     i ++;
    }
    final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, array_spinner);
    spinner.setAdapter(adapter);

在答案表中有id然后回答,id在光标1处,答案在光标2处。我在这里试图在后面有一个看不见的微调器,它反映了用户在真正的微调......任何人都可以建议如何解决这个问题?谢谢

1 个答案:

答案 0 :(得分:0)

你要实现fol。代码:


 spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());

    public class MyOnItemSelectedListener implements OnItemSelectedListener {

        public void onItemSelected(AdapterView<?> parent,
            View view, int pos, long id) {
          Toast.makeText(parent.getContext()), "The planet is " +
              parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show();
cnt=pos;//declare public variable cnt abve oncreate
        }

        public void onNothingSelected(AdapterView parent) {
          // Do nothing.
        }
    }

在impl.it之后,你得到了cnt var。

中选定的微调器的位置

所以你可以通过

获得同一个微调器的id
int id=invisible_array_spinner[cnt];