我想获取微调器选定值并将其作为字符串返回存储在sqlite数据库中,在需要时读取数据。
我尝试以下方法,
sp = (Spinner) findViewById(R.id.spnCategory);
ArrayAdapter<CharSequence> ar = ArrayAdapter.createFromResource(this,
R.array.category, android.R.layout.simple_list_item_1);
ar.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
sp.setAdapter(ar);
String selection = sp.getSelectedItem().toString();
并获取字符串附加内容,如下所示:
selection = extras.getString("category");
如下所示:
v.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(context,ViewItem.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("category", category);
}
});
但我无法获得所选的微调器值,我只得到Spinner中的第一个值,我可能知道我的编码有什么问题吗?
答案 0 :(得分:2)
使用onItemSelected
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
// An item was selected. You can retrieve the selected item using
// parent.getItemAtPosition(pos)
TextView tv = (TextView)view;
String selection = tv.getText().toString(); // or you can use the position but I do this to do other things with the TextView
}
public void onNothingSelected(AdapterView<?> parent) {
// Another interface callback
}
}
并确保implements OnItemSelectedListener
Activity
Spinner
并在sp.setOnItemSelectedSpinner(this);
上设置听众
selection
注意强>
您可能希望将{{1}}声明为成员变量,以便您可以在其他地方使用它并在此处指定