2013-06-21 1 views
0

현재 Android OS에 익숙하지 않고 조각 주위에 머리를 쓰려고합니다 - iOS에서 Android로 앱을 만들어서 이것을 알아 내려고 해봐야합니다!고정 탭을 클릭하면 안드로이드 앱에 다른 조각을로드하십시오

Eclipse IDE에서 고정 탭 기본 설정을 사용하여 3 개의 탭을 제공합니다. 탭 메뉴 이름을 변경할 수 있지만 제목을 클릭하면 fragment_1, fragment_2fragment_3과 같이 다른 부분을로드하려고합니다.

이 코드 발견 :

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View rootView = inflater.inflate(R.layout.fragment_1, container, false); 
    TextView dummyTextView = (TextView) rootView.findViewById(R.id.section_label); 
    dummyTextView.setText(Integer.toString(getArguments().getInt(ARG_SECTION_NUMBER))); 
    return rootView; 
} 

을 나는 fragment_1에 레이아웃을 변경하지만 내가 어떻게 X는 탭이 곳을 클릭 fragment_x로드 할 수 있습니다? 이것이 가능한가? 나는 그물을 수색했으나 아무것도 작동하지 않았거나 지금까지는 감각이 없었습니다!

+0

간단히 fragmenttabhost를 확인하십시오. U와 같은 조각을 사용하여 찾고있을 수도있는 탭과 같은 기능을 찾고 있습니다. –

답변

2

Eclipse를 통해 프로젝트를 만들었으므로 주 활동에 DummySectionFragment이라는 개인 클래스가 표시되어야합니다. 그 클래스를 가이드로 사용하여 세 가지 다른 단편 (A, B & C)이 될 세 가지 클래스를 작성하십시오.

또한 다음과 같은 방법으로 SectionsPagerAdapter라는 이름의 클래스가 있어야

공공 조각의 getItem (INT 위치) {}

지금

처럼 뭔가에 getItem 방법의 내용을 변경
public Fragment getItem(int position) { 
    if (position == 0){ 
     return new MyFragmentA(); 
    }else if (position == 1){ 
     return new MyFragmentB(); 
    }else { // position == 2 
     return new MyFragmentC(); 
    } 
} 

여기서 MyFragmentA/B/C은 첫 번째 단계에서 만든 조각입니다. 더 실험하기 전에 Android Fragments을 살펴보십시오.

0

이 작업을 수행해야하는 경우 각각에 대해 3 개의 다른 조각과 3 개의 다른 레이아웃을 만들어야합니다. 그런 다음 호스트 활동에서 해당 탭 단추를 클릭하여 적절한 단편을 표시해야합니다.

호스트 활동의 일부분을 만들고 보이게하고 보이지 않게 만드는 방법을 배우려면 this tutorial을 참조하십시오.

그러나 Android에서 탭을 사용하는 것은 권장되지 않습니다. iOS 스타일 탭을 Android에 직접 이식하면 사용자 경험이 열악해질 수 있습니다. 탭은 ActionBar의 일부이거나, ViewPager을 사용하여 탭 스 와이프보기를 구현할 수 있습니다.

자세한 내용은 design guidelines을 참조하십시오.

관련 문제