如何在android上获取微调器字符串值?

时间:2011-09-15 21:27:34

标签: android sqlite spinner

我创建了一个微调器,微调器的项目来自数据库。但是,当我使用

public class MyOnItemSelectedListener implements OnItemSelectedListener {

    public void onItemSelected(AdapterView<?> parent,
        View view, int pos, long id) {
        typeOFBCard = contactSpinner.getSelectedItem().toString();
    }

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

当我调用这个监听器并尝试选择所选择的微调器字符串时,我得到sglite的引用,如:

android.database.sqlite.SQLiteCursor@40535568

这是typeOfBCard的返回值。

然而,在微调器上我可以看到像“工作”这样的正常字符串。

以下是我初始化微调器的方法:

contactSpinner = (Spinner) findViewById(R.id.contactSpinner);
    mobileText =(EditText) findViewById(R.id.mobileText);
    mDbHelper = new DbAdapter(this);
    mDbHelper.open();
    cursor = mDbHelper.fetchAllBusinessCards();
    startManagingCursor(cursor);
    context =this;

    contactSpinner.setOnItemSelectedListener(new MyOnItemSelectedListener());

2 个答案:

答案 0 :(得分:0)

  

在微调器上我能看到像“工作”这样的普通字符串

这是因为您在Adapter上配置了Spinner,而Adapter正在从数据中提取数据以进行显示。

  

如何在android上获取微调器字符串值?

没有“微调器字符串值”。 Spinners没有字符串。他们有意见。这些视图可能是TextView的实例,也可能是ImageView的实例,或者它们可能是保留在TextViewImageView上的LinearLayout的实例,或者。 ..

如果您想从Cursor中获取数据,请致电getString()上的Cursor

答案 1 :(得分:0)

微调器中的每一行都是一个视图,但它也是源中的值/对象。 尝试

public class MyOnItemSelectedListener implements OnItemSelectedListener {

public void onItemSelected(AdapterView<?> parent,
    View view, int pos, long id) {
     // Parent == where the click happened. 
    typeOFBCard = parent.getSelectedItem().toString();
}

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