当前位置: 首页 > 知识库问答 >
问题:

我如何循环通过按钮和禁用它们在Java?

景同
2023-03-14

我正在Android studio中制作一个应用程序,我有从1到count的分类按钮。我就是这样创造它们的:

category1 = (Button) findViewById(R.id.cat1Btn);
category1.setOnClickListener(this);

category2 = (Button) findViewById(R.id.cat2Btn);
category2.setOnClickListener(this);
...

我现在要做的是循环遍历每个按钮,只保留第一个按钮启用。因此,我想将它们从I禁用为count,如下所示:

for (int i=userProgress+2; i<=count; i++){
       String categoryName = "category" + i;
       categoryName.setEnabled(false);
}

这显然不起作用,因为它没有引用特定的按钮,它只是一个字符串。但我希望这能让你看到我正在努力实现的目标。基本上,我只需要找到一种方法,如何使用索引来引用按钮。我怎么能这样做呢?

感谢任何帮助。谢谢你!

共有1个答案

金坚
2023-03-14

我建议您将所有这些按钮保留在一个数据结构(如数组)中。然后,在循环中迭代其中的每一个,如前面所写的:Button[i].setEnabled(false);

 类似资料:
  • 在我的android程序中,我想点击一个按钮,在不同的交通灯图像之间循环。每当应用程序加载时,它会以一个红灯的图像开始,当我单击它时,我希望它将绿灯变为绿灯,然后再次单击变为黄灯。这就是我的Java文件中的内容 和XML文件

  • 问题内容: 我有这个组成部分: 我希望在输入值为空时禁用按钮。但是上面的代码不起作用。它说: add-item.component.js:78未捕获的TypeError:无法读取未定义的属性“值” 指向。我在这里怎么做错了?我猜测执行方法时可能尚未创建ref 。如果是,那么解决方法是什么? 问题答案: 使用不是最佳实践,因为它直接读取DOM,最好使用React的。另外,您的按钮不会更改,因为该组件

  • 问题内容: 我有angularJS 1.5.0-rc.2 我在互联网上发现可以使用该指令 但这不会禁用按钮。 我试过的 在我的控制器中,loaded定义为$ scope.loaded = false。 如何禁用按钮?谢谢 问题答案: 仅当表达式为 true时, 该按钮才会被禁用。

  • 所以我的问题是我该怎么做?这似乎是一个非常简单的需求,但我在文档中找不到任何关于如何执行的内容。 多谢了。

  • 问题内容: 我了解到,您可以仅通过将HTML按钮附加到其标签来禁用(使其实际上不可点击),但不能将其作为属性,如下所示: 由于此设置不是属性,因此如何通过JavaScript动态添加此设置以禁用以前启用的按钮? 问题答案: 由于此设置不是属性 这是一个属性。 一些属性定义为布尔值,这意味着您可以指定它们的值,而忽略其他所有内容。即,您只包括粗体部分,而不是disabled =“ disabled

  • HTML: 代码试用: 也试过很多其他的方法。无法单击“取消”按钮。错误: org.openqa.selenium.nosuchelementException:没有这样的元素:找不到元素:{“method”:“XPath”,“selector”:“//button[@type='button'][@class='modal-footer-button g-capitalize btn btn-l