0

조각에 대한 호출이 동기 적이라고 생각했지만 그렇지 않았습니다. 나는 어댑터를 통해 업데이트하는 listview를 포함하는 fragment 1을 가지고있다. 그런 다음 조각 2를 시작하는 단추가 있습니다. Frag2는 frag1의 목록보기에 영향을 미치므로 아래에서 다음과 같이 할 수 있다고 생각했습니다. 그러나 btn1 버튼을 클릭하면 frag2가 시작되고 log.i가 표시됩니다.중첩 조각 문제 - frag1은 frag1에서 목록보기에 영향을주는 frag2를 호출합니다.

frag1에서 새로 고침 버튼을 피하고 싶습니다.

frag2가 종료 된 직후 조치를 취할 수 있습니까? 귀하의 질문으로

@Override 
public void onActivityCreated(Bundle savedInstanceState) { 
    super.onActivityCreated(savedInstanceState); 
    context = getActivity().getApplicationContext(); 

    initFindView(); 

    btn1.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      FragmentTransaction ft = getFragmentManager().beginTransaction(); 
      Frag2 f2 = new Frag2(); 
      ft.replace(R.id.content_frame, f2); 
      ft.addToBackStack(null); 
      ft.commit(); 

      Log.i("TEST","Test - back from tst2"); 

     } 
    }); 

} 
+0

"Frag2는 frag1의 목록보기에 영향을 미칩니다."- Frag2가 표시되는 동안 취해진 조치가 ListView에 표시된 데이터를 변경한다고 생각하십니까? 이 경우 LoaderManager를 사용해야합니다 (예 : Alex J. Lockwood의 블로그 게시물 (http://www.androiddesignpatterns.com/2012/07/understanding-loadermanager.html)) – 0X0nosugar

+0

좋아요. . 나는 그것을 시도 할 것이다. 감사. – narb

답변

1

, 당신은 결과를하기 만에, 당신은 당신이 인수로 사용할 수있는 Parcelable입니다 만약 startActivity (ForResult) 또는 조각 쓰루 ResultReceiver 물마루 달성과에 결과를 기다릴 수보고 Frag1을 업데이트하십시오.

+0

나는 조각에서 활동을 시작할 수 없다는 인상에 잘못 빠졌습니다. 감사. – narb