-1

많은 링크를 읽었지만 하나의 단편에서 다른 활동으로 또는 한 활동에서 다른 활동 단편으로 데이터를 전달하고 있지만 조각에서 보내려합니다. 하나의 활동을 다른 활동의 다른 부분으로 옮기기하나의 활동 단편에서 다른 활동 단편으로 데이터를 보내는 방법

+1

좋아요 완료 프라에서 빠져 나올 수있다. 액티비티에 액티비티, 액티비티로 액티비티를 전달하면 액티비티를 통해 프래그먼트에서 다른 프래그먼트로 전달할 수 있습니다. –

+0

예 그 중 하나만 할 수 있지만이 방법은 유일한 것입니다. 다른 직접적인 방법이 없다는 것을 의미합니다 [email protected]_007 – Ayaz

+0

EventBus 라이브러리를 살펴볼 수 있습니다. 개인적으로, 그것을 시도하지 않은,하지만 많은 사람들이 그것을 권장합니다. –

답변

0

내가 뭔가를 놓치지 않는다면, 그 첫 번째 조각에서 getActivity().startActivity()으로 전화를 걸 수 있습니다. 그 중 일부 엑스트라가 그 인 텐트에 설정되고 그 두 번째 활동에서 몇 개의 인수를 조각으로 전달할 수 있습니다 만듭니다. 모든 응용 프로그램을 통해 또는 어쩌면 지금까지 활동 사이에 datas를 통과해야하는 경우

그래서, FragmentA 그런

Intent i = new Intent(getActivity(), ActivityB.class); 
i.setExtra("key", "hello world"); // for example 
getActivity().startActivity(i); 

, ActivityB

에서
onCreate() { 
    Intent i = getIntent(); 
    FragmentB frag = new FragmentB(); 
    if (i!=null) frag.setArguments(i); // pass along intent 
    // TODO load Fragment 

그리고는 FragmentB

+0

예 당신이 공유 할 수 있다면 도움이 될 것입니다 – Ayaz

+0

좋아, 내가 모바일에있어, 테스트 해보지 만, 여러분이 참조한 예제에서 본 코드와 비슷해야합니다. –

0

getArguments()를 사용/조각 같은 귀하의 예제에서, 일부 정적 클래스를 사용하여 (자바에서 정적 클래스가없는 경우에도. 그것은 더 정적 필드 래퍼).

public class MyRunTimeDatas{ 
    private static String myStringData; 
    private static int myIntData; 

    //getters and setters 
} 

이제

MyRunTimeDatas.setMyStringData("my value"); 
MyRunTimeDatas.setMyIntData(69); 

마지막으로 fragment 2에서 fragment 1 사용 당신은 지금

String myBeautifulString = MyRunTimeDatas.getMyStringData(); 
int myFantasticInt = MyRunTimeDatas.getMyIntData(); 

를 호출 할 수 있으며, 경우에 당신은 ...

+0

알고있는 한, 공유하는 메소드는 하나의 프래그먼트에서 동일한 프래그먼트의 다른 프래그먼트로 데이터를 전송하는 것입니다 ... 그러나 내 경우에는 다른 활동의 조각입니다 @ Pier Giorgio Misley – Ayaz

+0

@Ayaz - 이것은 데이터 액세스 개체입니다. 변수는 정적이므로 응용 프로그램 메모리에 저장되며 모든 클래스에서 액세스 할 수 있습니다. –

+0

@Ayaz 그것은 cricket_007과 같습니다 : 이것은 별도의 클래스 (별도의 .java 파일)이므로 응용 프로그램의 모든 클래스에서 액세스 할 수 있습니다. –

관련 문제