Android微调器,为什么我不能在第一个位置选择项目?

时间:2011-06-06 13:04:30

标签: android spinner

我在我的应用程序中创建了微调器,并且用数据库中的数据填充它。它工作正常,直到我想在第一个位置选择项目,当我做那个微调器关闭,没有什么是hapennig。但是,如果我在任何其他位置选择项目它工作得很好,我不知道为什么? 我的代码:

public String returnString(AdapterView<?> parent,int position,long ID){
    return parent.getSelectedItem().toString();
}

void showDrugStores()
{    

    final DBAdapter db = new DBAdapter(this);
    db.open();
    final Cursor drugCursor;

    Spinner drugStoreSpinner = (Spinner) findViewById(R.id.drugStoreSpinner);
    drugCursor = db.getDrugStores();
    drugCursor.moveToFirst();
    startManagingCursor(drugCursor);

    String[] from = new String[]{db.KEY_NAZWAAPTEKI}; 
    int[] to = new int[]{R.id.tvDBViewRow};

    SimpleCursorAdapter drugStoreAdapter = new SimpleCursorAdapter(this,
            R.layout.closed_spinner, drugCursor, from, to);
    drugStoreAdapter.setDropDownViewResource(R.layout.db_view_row);
    drugStoreSpinner.setAdapter(drugStoreAdapter);

    drugStoreSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        public void onItemSelected(AdapterView<?> parent,
            View view, int pos, long id) {

            String selection = returnString(parent, pos, id);
            db.open();
            db.getDruSto(selection);

            TextView show_selected =(TextView) findViewById(R.id.show);
            show_selected.setText(drugCursor.getString(1));

            db.close();
        });
}

1 个答案:

答案 0 :(得分:0)

可能是因为第一项已被选中 - 如果您想添加一个选项来表示没有选择任何内容,您应该将其添加到列表的开头。