我试图获取它,以便当用户在弹出窗口中单击popbtnnext时,程序会检查数组的其余部分flaggedwordsused是否为空。如果没有,则按钮设置为可见,程序继续运行。如果为null,则程序将按钮更新为不可见。
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开始,字符串为&#34;非常&#34;占用元素零,所有其他值为null。我有一个textView更新值为f,所以我知道程序正在进入else语句。该值正在更新,但按钮的可见性永远不会改变。你能给我的任何帮助将不胜感激。 popuplayout是用java创建的,而不是xml,如果这有任何区别的话。
答案 0 :(得分:0)
您应该使用View中的常量来设置可见性。使代码更易于阅读:
使popbutnext不可见:
popbutnext.setVisibility(View.INVISIBLE);
要使popbutnext不可见,并且在构建布局时不占用任何空间:
popbutnext.setVisibility(View.GONE);
使popbutnext可见:
popbutnext.setVisibility(View.VISIBLE);
它不适合您的原因是因为值错误。 Invisible是4,off是8,visible是0.但是,我仍然建议使用View类中的常量 - 你永远不会知道,它们可能会在即将推出的Android版本中发生变化。请查看this链接和可见性参数。