我使用了一个 (+/-) 按钮来递增或递减计数器,但我设置了上限 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/