在我的应用程序中,我使用了微调器,它通过 spinner.performClick()
显示。多次尝试后,我注意到我的代码没有触发 onItemSelected 方法
,然后我尝试添加 @Override
注释,但它返回错误并提示删除该注释。这是代码:
Spinner colorSpinner = new Spinner(this);
ColorFriendsSpinnerAdapter adapter = new ColorFriendsSpinnerAdapter(getApplicationContext(), liste, R.layout.color_dropdown, new String[] { "Icon" }, new int[] { R.id.colorDropdown });
//adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
colorSpinner.setAdapter(adapter);
colorSpinner.performClick();
colorSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int position, long id) {
editColorXml(position);
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
感谢您的帮助,抱歉我的英语不好。
最佳答案
ItemSelectedListner 示例,无需重写注解。
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
在 colorSpinner.performClick()
之前设置监听器。在此代码中,微调器将在未设置监听器的时刻被单击。
关于Android微调器没有触发onItemSelected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8187752/