2013-10-02 3 views
0

SurfaceView를 클릭하면 숨기거나 표시하는 LinearLayout이있는 SurfaceView가 있습니다. 문제는 SurfaceView가 새로 고쳐지지 않으므로 setVisibility (View.VISIBLE)가 실제로 작동하지 않는 경우입니다. 기본 buttonVisibility으로setVisibility()가 UI를 새로 고칩니다.

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; 
       } 

      } 
     }); 

가 false로 설정되어 나는 실제로 그렇게 논리에 일관성이 있도록이다보기를 클릭 처음으로, 유일한 문제가 있다는 것입니다 :

내가 사용하고 코드입니다 setVisibility는 효과가없는 것 같습니다. 화면을 켜거나 끌 때만 레이아웃이 올바르게 표시되고 제대로 작동하는지 확인할 수 있습니다. 왜 UI를 새로 고치려면 화면을 꺼야합니까? setVisibility 후에 자동으로 새로 고쳐야하지 않습니까?

당신에게 이유를 모르겠어요

답변

0

대단히 감사하지만 나는 그것이 작동하지만 버튼이 잘못 "Z- 인덱스"로 표시 ImageButtons로 내 버튼을 변경하면 어디든지 내가 넣어. "z- 색인"을 수정하기 위해 한 번 클릭해야합니다. setVisibility (View.INVISIBLE)를 setVisibility (View.GONE)로 변경하면 모두 정상적으로 작동합니다.

같은 문제가있는 사람에게 도움이 될 수 있기를 바랍니다.

관련 문제