我正在创建一个默认禁用 mainMenuButton 按钮(在 onCreate 中创建)的程序。在启用 mainMenuButton 按钮之前,用户首先必须检查几个框并从微调器中选择一些东西。目前,使用微调器后,我什至无法启用按钮。
我都试过了
@Override
public void onClick(View v)
{
switch(v.getId())
{
case R.id.main_menu_button:
openMainMenu();
break;
case R.id.building_spinner:
Button mainMenuButton=(Button)findViewById(R.id.main_menu_button);
mainMenuButton.setEnabled(true);
break;
}
}
和
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
{
View mainMenuButton=(View)findViewById(R.id.main_menu_button);
mainMenuButton.setEnabled(true);
}
但无济于事。我也试过用 替换View
,Button
但这也没有启用 mainMenuButton。选择微调器上的某些内容后,我究竟应该怎么做才能启用按钮?
另外,为复选框实现它也会有很大的不同吗?
编辑2:
如果我注释掉 if 和 else 语句,该按钮将永久禁用。如果我按原样离开,则该按钮一开始就永远不会被禁用,也永远不会被禁用,我不明白,因为我什至没有碰过微调器,所以默认情况下应该禁用它。
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
{
String buildingString = parent.getItemAtPosition(position).toString();
if(buildingString !="Select Building")
{
Button mainMenuButton=(Button)findViewById(R.id.main_menu_button);
mainMenuButton.setEnabled(true);
}
else
{
Button mainMenuButton=(Button)findViewById(R.id.main_menu_button);
mainMenuButton.setEnabled(false);
}
}
我不确定这是否会影响它,但微调器字符串的格式如下:
<string-array name="building_array">
<item>Select Building</item>