0
  • 하나의 활동 (MainActivity)과 해당 xml 파일이 있습니다. Xml 파일은 상단에 도구 모음을 포함하고 슬라이딩 탭을 누른 다음 뷰 페이지를 포함합니다.안드로이드 조각, 뷰 페이지, 활동 관계

  • 3 개의 조각 (해당 XML 파일)과 3 개의 슬라이딩 탭이 있습니다. 탭 1은 프래그먼트 1과 2에 2와 3을 3으로 연결합니다.

  • 프래그먼트의 뷰에 대해 작업을 수행하는 경우 MainActivity 또는 Fragment에 모든 코드를 작성해야합니까?
  • 해당 페이저의 조각에서보기 만 리턴해야합니까 아니면 해당 페이지의 모든 코드도 조각 안에 있어야합니까? 예를 들어

:

내가 컨텐트 리졸버를 사용하여 1 조각의 목록보기에 데이터를 채우는, 마찬가지로, 나는 다른 작업을하고있는 중이 야하는 경우와 조각 2의 세부 사항을 표시하는 일부 데이터를 검색하고있는 경우 3, 해당 코드 자체에 모든 코드를 작성해야합니까, 아니면 MainActivity에 작성해야합니다.

누구나이 링크 나 유용한 링크에 대한 답을 줄 수 있습니까?

답변

0

View pager와 함께 탭을 사용하는 경우 MainActivity는 컨테이너로 작동하고 조각을 보유합니다. 따라서 각각의 코드를 각각의 조각에만 쓸 수 있습니다. 모든 파편에 공통적으로 필요한 것은 MainActivit에 쓸 수 있습니다. 예를 들어, 도구 모음 제목 변경, 옵션 메뉴의 요법.

+0

감사합니다! 모든 프래그먼트에 대해 단일 활동을 사용하면 어떻게 파편으로 컨텍스트를 얻을 수 있습니까? 어느 것을 사용해야합니까? getActivity() 또는 getApplicationContext()? – akm

+0

당신은 문맥에 대해 getActivity()를 사용할 수 있습니다. 또한 MainActivity mainActivty = (MainActivity) 컨텍스트와 같은 활동 인스턴스를 초기화 할 수 있습니다. –

0

예. 해당 페이저의 조각에서보기 만 반환해야합니다. 그리고 해당 페이지의 모든 코드는 조각 자체 내에 있어야합니다.

단편에서 콜백 메소드를 정의하려는 경우 또는 해당 구현을 사용자 활동에서 수행 할 수 있습니다.

몇 가지 일반적인 재료 디자인 컨트롤을 사용하여 탭 구현에 대한 아이디어를 얻을 수있는 링크를 참조하십시오.

https://github.com/chrisbanes/cheesesquare

+0

감사! 그래서, 만약 내가 3 조각을 사용하여, 오직 공통 코드 MainActivity 내부에 작성해야합니다. 나는 조각 자체 안에 모든 코드를 써야 할 것이다. MainActivity는 모든 3 조각을 올바르게 제어 할 것인가? 그리고 모든 조각 안에 빈 컨스트럭터가 있어야합니까? – akm

+0

필요한 경우 공통 코드가있는 경우에만 사용할 수 있습니다. 그리고 조각을 초기화하는 동안 매개 변수화 된 생성자를 사용하는 경우 빈 생성자가 필요하지 않습니다. –

+0

나는 조각을 페이지에 바인딩하는 어댑터 클래스가 있고 조각에서 생성자를 사용하지 않았지만 어댑터에서 Tab1으로 초기화하고 있습니다. tab1 = 새 Tab1(), parametarized 생성자를 사용하는 방법은? – akm