2013-10-02 186 views
0

我有一个SurfaceView和一个LinearLayout,隐藏或显示如果你点击SurfaceView。 问题是SurfaceView不刷新,因此如果setVisibility(View.VISIBLE)实际上不起作用。setVisibility()不刷新用户界面Android

这是我使用的代码:

sv.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) 
      { 
       Log.d("MainActivity-onCreate-onClick-buttons", 
         buttonsVisibility.toString()); 
       if (buttonsVisibility) 
       { 
        linearLayoutButtons.setVisibility(View.INVISIBLE); 
        buttonsVisibility = false; 
       } else 
       { 
        linearLayoutButtons.setVisibility(View.VISIBLE); 
        buttonsVisibility = true; 
       } 

      } 
     }); 

默认buttonVisibility被设置为false,我第一次点击它实际上就是如此的逻辑是一致的认为,唯一的问题是, setVisibility似乎没有效果。只有打开/关闭屏幕,我才能看到布局正确显示,然后正常工作。为什么我需要关闭屏幕刷新UI?不应该在setVisibility之后自动刷新吗?

非常感谢您

回答

0

我不知道为什么,但如果我改变我的按钮是ImageButtons它的工作原理,但按钮出现了错误“的z-index”,无论我把他们。我需要点击一下来修复“z-index”。如果我改变setVisibility(View.INVISIBLE)与setVisibility(View.GONE)一切正常。

希望这可能对有同样问题的人有帮助。