在我的应用程序中,我有一个显示元素列表的微调框。用户可以选择其中一个,然后点击“确认”按钮。 但是,元素列表也可能为空:在这种情况下,我不希望按钮被启用。我尝试以编程方式完成此行为,但我没有成功:按钮始终显示为已启用。我错过了什么? 这里是我的代码:按钮不会将程序设置为禁用
Spinner dropdownProperty;
AppCompatButton confirmBtn;
...
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
dropdownProperty.setOnItemSelectedListener(new
AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
if(dropdownProperty.getSelectedItem().toString().equals(""))
confirmBtn.setEnabled(false);
else confirmBtn.setEnabled(true);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
...
}
我也试过来管理onNothingSelected方法的情况,但它并没有帮助。
有什么想法?谢谢
为什么不检查元素列表中的空值,不要将它们添加到第一位? –
'dropdownProperty.getSelectedItem()'在这个方法中你得到了什么类型的对象?并告诉我们你的适配器 – Fr099y