2014-03-28 2 views
0

기본적으로 버튼이있는 서랍이 있습니다. 단추를 클릭하면 FrameLayout에로드 된보기 (다른 단추)를 숨기려고합니다. 아래에는 서랍에 대한 XML 코드가 포함되어 있습니다. 버튼은 코드 내에서 동적으로 생성되므로 여기에는 포함되지 않습니다. frameLayout을 가져 와서 뷰를 무효화하려고 시도했지만 작동하지 않는 것 같습니다. 나는 그것이 Fragment에로드된다는 사실과 어떻게 든 관련이 있다고 생각합니다.DrawerLayout에 포함 된 FrameLayout 내에서 뷰를 새로 고치는 방법

실마리를 환영합니다! 감사!

<android.support.v4.widget.DrawerLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/myDrawer" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <FrameLayout 
    android:id="@+id/home_frame" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <include 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     layout="@layout/home_layout" /> 
    </FrameLayout> 
</android.support.v4.widget.DrawerLayout> 
+0

둘째 단추 (프로그래밍 방식으로 생성 된 단추)를 숨기려면? – FMontano

+0

아닙니다. 프로그래밍 방식으로 생성 된 버튼은 DrawerLayout에 있습니다. home_layout에있는 버튼을 숨겨야하는 onClick 이벤트가 있습니다. – narko

답변

1

좋아요. FrameLayout을 사용하는 사실과 관련된 숨겨진 마술이 있다고 생각했지만 그렇지 않았습니다. 이 방법은 완전히 동일합니다. 아래 솔루션 찾기 :

 View view; 
     if ((view = findViewById(R.id.bottomSet)) != null) { 
      view.setVisibility(View.VISIBLE); 
      view.invalidate(); 
     } 

"bottomSet"은 가져 오는 FrameLayout 내에 정의됩니다.

관련 문제