【发布时间】:2021-08-21 09:49:17
【问题描述】:
我有一个名为HideIt的按钮:
android:id="@+id/HideIt"
android:onClick="HideIt_onClick"
我还有一个名为HelloWorld的按钮:
android:id="@+id/HelloWorld"
android:onCick="HelloWorld_onClick"
还有名为VisibleIt的第三个按钮:
android:id="@+id/VisibleIt"
android:onCick="VisibleIt"
场景是什么?
首先我点击HideIt按钮,所以它的功能将不可见和禁用HelloWorld按钮如下代码:
public void HideIt_onClick(View v) {
Button DisableHide = findViewById(R.id.HelloWorld);
DisableHide.setVisibility(View.GONE);
DisableHide.setEnabled(false);}
然后我点击VisibleIt按钮,所以它的功能将可见 HelloWorld按钮但是它会不 启用HelloWorld按钮,代码如下:
public void VisibleIt_onClick(View v) {
Button VisibleHelloWorld = findViewById(R.id.HelloWorld);
VisibleHelloWorld.setVisibility(View.VISIBLE);}
有什么问题?
问题是当我点击VisibleIt 时,我希望我的HelloWorld 按钮设置为可见但仍然禁用,但它不会从不 设置为可见并且它仍然隐藏。
我在VisibleIt代码中添加了一行代码到文本如下:
DisableHide.setEnabled(true);}
所以VisibleIt代码如下:
public void VisibleIt_onClick(View v) {
Button VisibleHelloWorld = findViewById(R.id.HelloWorld);
VisibleHelloWorld.setVisibility(View.VISIBLE);
DisableHide.setEnabled(true);}
在这种情况下,当我点击 VisibleIt 按钮时,它 Visible BUT NOT disabled 为我想要的,所以我在上面的VisbileIt 代码中设置了setEnable(false),但我遇到了和以前一样的问题,按钮HelloWorld 仍然隐藏。
所以我尝试了private void 如下代码,但问题仍然存在:
public void VisibleIt_onClick(View v) {
Button VisibleHelloWorld = findViewById(R.id.HelloWorld);
VisibleHelloWorld.setVisibility(View.VISIBLE);
DisableHide.setEnabled(true);
DisableItNow();
}
private void DisableItNow() {
Button DisableItPlease = findViewById(R.id.HelloWorld);
DisableItPlease.setEnabled(false);
}
我需要那个 HelloWorld 按钮,它被 另一个 Java 函数 禁用和消失,让 可见 strong> 此功能 但仍然禁用
【问题讨论】:
-
为什么你一直在寻找相同 id 的按钮?,你可以让它全局并访问它,也许这就是问题的原因。尝试在 onCreate 方法上初始化按钮并从 Activity / Fragment 中的任何位置访问它