0

我正在尝试获取它,以便当用户在弹出窗口中单击 popbtnnext 时,程序会检查数组 flaggedwordsused 的其余部分是否为空。如果不是,则按钮设置为可见并且程序继续运行。如果为空,程序将按钮更新为不可见。

    popbutnext.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
        f++;
        for (int g= f+1; g<flagwordsused.length; g++) {
              if (flagwordsused[g] != null) {
                popbutnext.setVisibility(0);
                break;
              }
              else{
                  poptv1.setText(""+f);
                  popbutnext.setVisibility(1);
              }
            }
    }
    });

flagwordsused 是一个由 20 个元素组成的数组,在我的测试用例中,f 从 0 开始,字符串“very”占据元素 0,所有其他值为 null。我有一个使用 f 值更新的 textView,以便我知道程序正在访问 else 语句。该值更新得很好,但按钮的可见性永远不会改变。您能给我的任何帮助将不胜感激。popuplayout 是在 java 中创建的,而不是在 xml 中创建的,如果这有什么不同的话。

4

1 回答 1

0

您应该使用 View 中的常量来设置可见性。也使代码更易于阅读:

要使 popbutnext 不可见:

popbutnext.setVisibility(View.INVISIBLE);

在构建布局时使 popbutnext 不可见并且不占用任何空间:

popbutnext.setVisibility(View.GONE);

要使 popbutnext 可见:

popbutnext.setVisibility(View.VISIBLE);

它对您不起作用的原因是因为价值观是错误的。Invisible 是 4,gone 是 8,visible 是 0。但是,我仍然建议使用 View 类中的常量 - 你永远不知道,它们可能会在即将到来的 Android 版本中改变。看看这个链接和可见性参数。

于 2012-04-08T19:34:55.187 回答