android - 为什么 setEnabled(false) 没有停用按钮

标签 android

我使用了一个 (+/-) 按钮来递增或递减计数器,但我设置了上限 2,所以我想在计数器达到 2 后禁用 ElegantNumberbutton 的加号按钮,我想要减号按钮保持活跃。

public class MainActivity extends AppCompatActivity {

ElegantNumberButton numberbutton;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    numberbutton=(ElegantNumberButton)findViewById(R.id.numberButton);
  //  counter=(TextView)findViewById(R.id.counterTxt);



    numberbutton.setOnValueChangeListener(new ElegantNumberButton.OnValueChangeListener() {
        @Override
        public void onValueChange(ElegantNumberButton view, int oldValue, int newValue) {


            String count= numberbutton.getNumber();
            int temp=Integer.parseInt(count);
          if(temp>=2 ) {
              Toast.makeText(MainActivity.this, "NO more casual leave allowed", Toast.LENGTH_SHORT).show();
              numberbutton.setEnabled(false);



          }

        }
    });

}

最佳答案

如果你的意思是this ElegantNumberButton,我会说它不是真正的按钮。它是一个 RelativeLayout,因此它的 setEnabled() 不会更改其中的任何子项。要禁用 +/- 按钮,请尝试以下代码:

for (int i = 0; i < numberbutton.getChildCount(); i++) {
   View child = numberbutton.getChildAt(i);
   child.setEnabled(false);
}

关于android - 为什么 setEnabled(false) 没有停用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54666257/

相关文章:

java - 如何从非 Activity 类获取上下文

java - 创建滑动菜单

android - 如何防止 "wrap_content" TextView 将另一个 View 推到看不见的地方?

android - 在 SDK 工具中启动 Android 模拟器,修订版 12

android - 在 Android Widget 上处理多个按钮单击

android - 从 Azure 获取结果,插入一行并在插入 Azure 数据库后从本地数据库删除行数据

java - 如果滚动一个,则链接两个 TextView 一起滚动

Android:每次使用一次获取即时位置的最佳方式

java - Smack XMPP android 连接时崩溃

android - 无法将请求的类放入单个dex文件中。尝试提供main-dex列表。 #方法:87928> 65536