2

최근 허니 콤 3.0의 새로운 조각 기능을 지원하도록 앱을 업데이트하기로 결정했습니다. 내 응용 프로그램은 현재 클릭 한 목록 항목에 따라 다른 활동을 열어주는 목록보기에서 작동합니다. this tutorial에서 코드의 수정 사용 두 가지 활동으로 구성된 앱을 만들었지 만 클릭 한 목록 항목에 따라 두 번째 '뷰어'활동이 다른 레이아웃 xml을 사용하여 시작됩니다.여러 액티비티를 하나의 조각으로 변환

불행히도 모든 기능을 갖춘 구식 메서드를 호출하는 방법을 알 수 없었습니다. 내가 이전에 수행 한 모든 활동을 가져온 다음 메서드를 뷰어 활동으로 호출해야합니까 (정확하게 수행 할 수있는 방법에 대한 조언이 필요할 수도 있음). 모든 메서드를 동일한 뷰어 활동에 직접 적용해야합니다 (크기를 고려하십시오. 이러한 방법 (매우 큰 방식으로).

모든 것이 두 가지 작업으로 이루어지면 먼저 응용 프로그램을 "단편화"하는 매우 간단한 작업이 될 것입니다. here 여러 조각이 같은 것을 차지할 수있는 방법이 있다고 생각하지는 않지만 활동 공간

감사

답변

0

난 당신이 "모든 기능을 가지고 기존의 메소드를 호출"무슨 뜻인지 모르겠어요 (이 경우 다음 날 어떻게하는지 알려 주시기 바랍니다). 모든 활동 클래스를 조각으로 다시 작성해야합니다. this tutorial here을 확인하십시오 (매우 간결합니다). 기본적으로 ListFragment와 FrameLayout으로 구성된 액티비티가 필요합니다. ListFragment는 선택된 행을 기반으로 적절한 Fragment로 변경하여 FrameLayout을 업데이트합니다.

+0

기능을 유지한다는 것은 오래된 액티비티에 onClickHandlers가 있었기 때문에 버튼을 클릭 할 때 계산이 발생했기 때문입니다. ATM 표시 레이아웃을 얻을 수 있었지만 ClickHandlers를 다시 구현하는 데 문제가 있습니다. 나는 당신이 이것에 대해 좋은 길을 알았는지 궁금합니다. – Jack

+0

당신이 가진 문제에 대해 좀 더 구체적으로 설명해 줄 수 있습니까? – James

1

James가 지적했듯이 비즈니스 로직을 활동에서 파편으로 이동해야합니다. 이벤트를 처리하기 위해 리스너 인터페이스를 만들 수 있습니다. CONTAINER 활동은이 인터페이스를 구현합니다. 조각이 컨테이너 활동에 액세스 할 수 있으므로 컨테이너 활동에 위임 할 수 있습니다. 원하는 이벤트에 대해서는 "logic"입니다. 이 이벤트의 경우 활동은 새 활동을 시작할지, 새 단편을 표시하거나 숨길 지 여부를 결정합니다. here

나는 여러 조각이 활동에서 같은 공간을 점유 할 수 있도록하는 방법이있을 수 있음을 고려하지 않았지만 :

나는 비슷한 질문, 질문에 살펴보고 대답을했다 (이 경우 어떻게되는지 알려주십시오.)

여러 조각이 활동에서 동일한 공간을 차지할 수 있다고 생각합니다. 다시 한번 대답을 살펴보십시오 here ... 저는 Activity의 개념/범위가 조금 바뀌 었다고 생각합니다. 이제는 Activity가 각기 다른 단편을 포함 할 수 있으며, 모든 단편은 사용자가 하나의 집중된 것을 할 수있게합니다.

관련 문제