我创建了一个微调器,微调器的项目来自数据库。但是,当我使用
时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());
答案 0 :(得分:0)
在微调器上我能看到像“工作”这样的普通字符串
这是因为您在Adapter
上配置了Spinner
,而Adapter
正在从数据中提取数据以进行显示。
如何在android上获取微调器字符串值?
没有“微调器字符串值”。 Spinners
没有字符串。他们有意见。这些视图可能是TextView
的实例,也可能是ImageView
的实例,或者它们可能是保留在TextView
和ImageView
上的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.
}
}