2011-10-11 4 views
0

나는 일하고있는 토너먼트 주최자 프로그램에서 ListView를 사용하여 데이터베이스의 플레이어 데이터를 표시합니다. 화면이 세로 방향 인 경우 플레이어의 이름과 승패 기록 만 표시합니다. 화면이 가로 위치에있을 때 목록보기에 데이터의 "열"을 더 표시하고 싶습니다.Landscape에서 ListView에 더 많은 데이터를 표시하려면 어떻게해야합니까?

나는 일반적으로 layout-land 폴더의 사용법을 알고 있지만, 다른 방향이 아닌 하나의 방향으로 만 필드에 데이터를 채우는 방법은 무엇입니까?

세로로 "열리도록"열을 설정하고 두 방향의 필드를 채우는 것이 가장 좋습니까? 또는 소프트웨어에서 방향을 감지 한 다음 화면이 가로 방향 인 경우 해당 필드 만 채우는 것이 좋습니다.

내가 모르는 세 번째 옵션이 있습니까?

감사합니다.

+1

나는 당신이하고있는 일을 정확하게 수행하고 사라지도록 필드를 설정합니다. 이 방법으로 플래그 및 조건문을 사용하지 않고 하나의 어댑터 만 사용하여 방향을 확인할 수 있습니다. 필드를 할당하는 오버 헤드는 매우 작아야합니다. 그렇게하지 않으면 어떤 이득이 발생했는지 알 수 없을 것입니다. 그들을 지정하지 마라. – dymmeh

답변

1

두 가지 이상의 방법이 있습니다. 나열한 모든 옵션이 작동합니다. 나는 또 다른 하나를 제안 할 수 있습니다 : 두 개의 레이아웃을 만들고 런타임에 모든 뷰를 가져 와서 null이 아닌 이상 채워 넣으십시오. 다음과 같이하십시오 :

TextView tw = (TextView) findViewById(R.id.label); 
if (tw != null) tw.setText("Hello, World!"); 

당신의 독약을 선택하십시오. :) 어쨌든, 나는 오리엔테이션의 런타임 검사와 함께 가고 싶습니다. 이렇게하면 코드가 더 명확 해집니다.

관련 문제