【发布时间】:2014-02-19 08:55:49
【问题描述】:
我的微调器的奇怪行为。我有自定义微调器,当没有选择任何内容时,它应该显示一个字符串“选择项目:”。选择某些内容后,它应该使用所选项目进行更新。我跑了一个setOnItemSelectedListener,但它始终是一个选定的项目。基本上是列表中的第一个。这是我的getView() 代码:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = getActivity().getLayoutInflater();
View row = inflater.inflate(R.layout.spinner_placeholder, parent, false);
itemText = (TextView) row.findViewById(R.id.itemText);
final String userSelection = spinner.getSelectedItem().toString();
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
itemText.setText(userSelection);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
itemText.setText("Select item below");
}
});
return row;
}
有人知道为什么会这样吗?我假设我已经正确设置了它。我将setOnItemSelectedListener 移到了自定义适配器之外的oncreate(),但它仍然显示相同的结果。当您使用微调器加载页面时,它始终显示第一项,甚至在用户选择任何内容之前。
任何帮助表示感谢,在此先感谢。
【问题讨论】:
标签: android spinner android-arrayadapter