마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

해석좀 부탁드릴게요 ㅠ

0 추천
@Override
public CharSequence getPageTitle(int position) {
    switch (position) {
        case 0:
            return "SECTION 1";
        case 1:
            return "SECTION 2";
        case 2:
            return "SECTION 3";
    }
    return null;
}
위에 소스를 풀이하면 어떤 내용인가요..
그리고, case1에 텍스트를 출력하는게 아니라 특정 레이아웃이나 버튼,리스트와 같은 위젯을 보여주려고할때 어떻게 수정해줘야하는지 알려주세요 ㅠ
만듀만듀해 (620 포인트) 님이 2016년 10월 3일 질문

1개의 답변

0 추천
 
채택된 답변

메소드 이름으로 봐서는  화면의 타이틀을 얻어오는 역할을 하는 것으로 보이구요. 이 메소드는 정수값 매개변수를  필요로 합니다.

아마도 ViewPager나 tab같은 걸 사용하시는 걸로 보이네요. 페이지나 탭이 변경되었을 때, 해당 페이지의 타이틀을 가져오는 역할을 하는 것으로 추정됩니다.

//Java의 swich문입니다. 매개변수로 넘어온 position이 0, 1, 2일 때 각각 다른 루틴을 타게 됩니다.
switch (position) {
        case 0:
            return "SECTION 1";  //position이 0번이면 SECTION 1을 리턴
        case 1:
            return "SECTION 2";   //position이 0번이면 SECTION 2을 리턴
        case 2:
            return "SECTION 3";   //position이 0번이면 SECTION 3을 리턴
    }

   //position이 0, 1, 2 에 해당이 없으면 널값을 리턴
    return null;
@Override
public CharSequence getPageTitle(int position) {
    return position>-1 && position<3 ? "SECTION " + (position+1) : null;
}

position은 인덱스 값이라서 0부터 시작을 합니다. 그리고 바로 위처럼 더 간단하게도 만들 수 있습니다.

 

spark (227,830 포인트) 님이 2016년 10월 3일 답변
만듀만듀해님이 2016년 10월 4일 채택됨
그럼 특정레이아웃이나 버튼은 어떻게 출력시킬수있을까요 ㅠ
출력시킨다는 의미가 잘 이해가 안가는데요. 텍스트를 뿌리는 걸 의미하시면 버튼은 그렇지만 레이아웃은 다른 뷰들을 포함하는 컨테이너여서 좀 다른 의미가 될 것 같은데요.
...