【发布时间】:2011-04-17 09:40:30
【问题描述】:
所以我在屏幕上有按钮(不是软键盘),但我希望当您选择某个禁用(无法点击) strong>微调器选项。就像我有按钮 0-9(用于数字输入)一样,如果选择了“Base 2”(微调器选择 0),我希望禁用除 0 和 1 之外的所有按钮。
【问题讨论】:
标签: android button spinner hidden
所以我在屏幕上有按钮(不是软键盘),但我希望当您选择某个禁用(无法点击) strong>微调器选项。就像我有按钮 0-9(用于数字输入)一样,如果选择了“Base 2”(微调器选择 0),我希望禁用除 0 和 1 之外的所有按钮。
【问题讨论】:
标签: android button spinner hidden
您可以添加一个 OnItemClickListener 并对给出的选项做出反应,例如这种方式
spinner.setOnItemClickListener(new AdapterView.OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> parent,
View view, int position, long id) {
if(position == 1)
button.setClickable(false);
}
});
【讨论】:
setOnItemClickListener 不支持Spinner?
spinner.setOnItemSelectedListener()
Spinner 不支持setOnItemClickListener。如果你尝试使用它,你会得到一个异常:
java.lang.RuntimeException: setOnItemClickListener cannot be used with a spinner
因此,您应该使用setOnItemSelectedListener:
spinner.setOnItemSelectedListener(new OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int position, long id) {
Toast.makeText(MyActivity.this, "position= "+position+" / id= "+id, Toast.LENGTH_LONG).show();
switch(position) {
case 0:
button0.setClickable(true);
button1.setClickable(false);
break;
case 1:
button0.setClickable(false);
button1.setClickable(true);
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}});
【讨论】:
MyActivity 更改为包含代码的活动的类名。