안드로이드 개발 질문/답변
(글 수 45,052)
예전에 질문드렸던건데요..왼쪽껀 main.xml을 기본폼으로 되어 있는 기본화면이구요..
오른쪽 건 xml코드 없는 자바코드로 작성한 그리드뷰 클래스만 불러오게 만든 모습입니다...
다른 건 다 되는데 그림에 버튼을 누르면 그리드뷰가 나오는 화면만 실행이 안되네요..
버튼을 누르면 밑에 보이는 소스 중 com.ii.Home<--이 부분을 실행해야 하는데 안되네요...
java code 부분입니다...
final cate va=(cate)this.findViewById(R.id.mainView);
cate.setState(false);
cate_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(va.getVisibility()>0) {
cate.setState(true);
va.setVisibility(View.VISIBLE);
}else{
cate.setState(false);
va.setVisibility(View.INVISIBLE);
}
}
});
main.xml
<LinearLayout
android:id="@+id/LinearLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView
android:id="@+id/ListView_Sample1"
android:orientation="horizontal"
android:layout_alignWithParentIfMissing="true"
android:dividerHeight="0.1dip"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
</ListView>
<com.ii.Home
android:id="@+id/mainView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>
2009.12.07 11:17:30
음.. 의문이 드네요. va.getVisibility()값은 처음 시작됐을때부터 Visible이지 않나요?
그말은 처음 시작부터 com.ii.Home이 보여야 한다는 의미인데..
아무 이상이 없다면 제가 생각하기에는 Layout 문제 인것 같습니다.
그말은 처음 시작부터 com.ii.Home이 보여야 한다는 의미인데..
아무 이상이 없다면 제가 생각하기에는 Layout 문제 인것 같습니다.
2009.12.07 11:22:26
음위에 보시면 처음에 보이는 이미지는 리스트뷰이고, 버튼을 클릭하면 그리드뷰가 나오는 형식으로 구성되어 있게 만드는 중입니다.
현재 그리드뷰 xml도 따로 만들어서 소스에 그리드뷰의 visivility는 INVISIBLE로 만든 상태구요..버튼을 클릭하면 저렇게 되도록 만든것입니다.........
현재 그리드뷰 xml도 따로 만들어서 소스에 그리드뷰의 visivility는 INVISIBLE로 만든 상태구요..버튼을 클릭하면 저렇게 되도록 만든것입니다.........
다만 추측으로는 실행은 되는데 LinearLayout의 특성 때문에 안보이는 것일 가능성이 있을 듯하네요.
만약 그렇다면 FrameLayout으로 바꿔 보시는것을 추천해 드리고요.
보다 정확한 것은 소스코드에서 com.ii.Home이 어떻게 호출되는지에 대한 부분을 확인 해 봐야 알 수 있겠네요.