2017-11-02 8 views
-5

MainActivity (MenuItem 클릭)의 데이터를 Child Fragment의 조각으로 보내려고합니다.menuItemclick의 Activity (Activity-> Fragment-> Fragment)에서 Fragment of Fragment로 데이터 보내기

나는 더 잘 이해할 수있는 이미지를 보여주었습니다.

enter image description here

나는 MainActivity가 menuclicked 때 이벤트가 MainActivity에서 DayFragment에서 해고하고자합니다.

아는대로 조각을 만들 때 보낼 수 없습니다.

아이디어를 이해하기위한 아이디어 (또는) 코드가 도움이 될 것입니다.

사람들은 부정 투표가 도움이되지 않을 것입니다.

좀 더 자세히 설명하겠습니다.

MainActivity를 클릭하면 메뉴 항목에 datepicker 대화 상자가 표시됩니다. MainActivity -> calendarfragment -> dayfragment에서 날짜를 전달해야합니다.

요일별로 다른 날의 날짜를 원합니다. 그게 전부 야.

+0

당신이이 질문을 편집을 통해 코드를 게시 할 수있는 단지의 경우에 Fragment.setTarget(Fragment fragment, int requestCode);를 사용할 수 있습니까? 우리가 한 일을 보여주십시오. –

+0

당신은 인터페이스를 사용할 수 있습니다 –

+0

불행히도, 내가 코드를 게시 할 수 없습니다, 거기에 해당 파일에 다른 많은 코드, 난 그냥 논리가 필요합니다. 고마워 디마. – Jack

답변

1

가 활동 항목 선택시 호출 조각 내부의 공용 메서드를 만듭니다.

ChildFragment의 인스턴스를 사용하는 공용 메서드에서 ChildFragment 내의 다른 public 메서드를 호출하여 마법을 발생 시키십시오!

당신은

0

번들을 사용하십시오. 번들 데이터 유형의 많은에 대한 방법을 걸었다

Fragment fragment = new Fragment(); // replace your custom fragment class 
Bundle bundle = new Bundle(); 
FragmentTransaction fragmentTransaction = getSupportFragmentManager(). beginTransaction(); 
bundle.putString("key","value"); // use as per your need 
fragment.setArguments(bundle); 
fragmentTransaction.addToBackStack(null); 
fragmentTransaction.replace(viewID,fragment); 
fragmentTransaction.commit(); 

: 다음은 예입니다.

는 그런 다음 조각에,와 데이터 (예를 들어,에서 onCreate() 메서드)를 검색 :

Bundle bundle = this.getArguments(); 
if (bundle != null) { 
     int myInt = bundle.getInt(key, defaultValue); 
} 
+0

사용할 수 없습니다. 조각을 만들 때 데이터를 원하지 않습니다. MainActivity에서 액션 트리거가 필요할 때를 원합니다. – Jack