gpt4 book ai didi

android - 将 OnFocusChangeListener 和 OnItemSelectedListener 应用于 Spinner

转载 作者:行者123 更新时间:2023-11-29 20:47:56 25 4
gpt4 key购买 nike

我有一个微调器,可以与标准 OnItemSelectedListener 一起正常工作以呈现一组选项:

s.setAdapter(adapter);
s.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> arg0, View arg1,
int selectedPosition, long arg3) {

if (selectedPosition == 0) {
// do stuff
} else {
// other stuff
}
}

public void onNothingSelected(AdapterView<?> arg0) {
}
});

但是,我有一个新的要求,当用户点击 Spinner 使用它时,相应的 Button 被禁用。我已将以下 OnFocusChangeListener 添加到 Spinner:

s.setFocusable(true);
s.setFocusableInTouchMode(true);
s.setOnFocusChangeListener(new OnFocusChangeListener() {

@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
distanceButton.setEnabled(false);
} else {
distanceButton.setEnabled(true);
}
}

});

这有效,并禁用了按钮。但是,微调器现在需要单击两次才能显示选项,而在没有 OnFocusChangeListener 的情况下它只需要单击一次。有什么办法可以将两个操作合并到一个监听器中吗?

谢谢...

最佳答案

尝试在 if 子句之后调用 super.onFocusChange(v, hasFocus)。

 public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
distanceButton.setEnabled(false);
} else {
distanceButton.setEnabled(true);
}
super.onFocusChange(v, hasFocus);
}

关于android - 将 OnFocusChangeListener 和 OnItemSelectedListener 应用于 Spinner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29940599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com