2017-03-13 1 views
1

레이아웃을 실제로 변경하지 않고도 한 클래스에서 다른 클래스로 데이터를 이동할 수있는 방법이 있습니까?인 텐트를 사용하지 않고 번들 이동

:

I 3 개 클래스를 가지고 클래스 A가 B 및 C 지금 클래스 B를 사용할 수도 클래스 A와 C에서 볼 수 있고 탐색 창 및 구현 하단 네비게이션 메뉴를 가지고 같은 시간.

그러나, 나는

난 그냥 보낼 수있는 어떤 방법이 있나요 나는이에서 볼 필요가 클래스 C에 저를 필요 하단 탐색 메뉴에서 버튼 만 데이터를 클래스 A에있다가 인 텐트를 사용하지 않고 클래스 B에 데이터 묶음을 보내고 클래스 B에서 데이터를 검색하여 클래스 C에 표시합니까?

EDIT ** **

P.S : B가 AppCombatActivity 확장 클래스 및 C 및 프래그먼트 확장 클래스이다.

+0

내가 강하게 당신이 당신의 질문을 수정하고이 클래스의 구체적인 종류와 "클래스"에 대한 대부분의 참조를 교체하는 것이 좋습니다. A, B, C가 활동, 단편 또는 다른 것인가에 대해서는 잘 모른다. – CommonsWare

+0

@CommonsWare done ... 체크 아웃 –

+0

B에 대한 메소드를 호출하여 (getActivity()를 통해) B에 데이터를 전달하십시오. B가 C에서 데이터를 전달하기 위해 C에 대한 메소드를 호출 했습니까? – CommonsWare

답변

1

귀하의 질문은 구현하기가 매우 간단하지만 그것도 두통 될 수 있습니다. 이것이 당신이해야하는 일입니다.

클래스 A :

public class A extends Activity { 

static A INSTANCE; 
String data="A"; 

@Override 
    public void onCreate(Bundle savedInstanceState) { 

    INSTANCE=this; 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    } 

public static A getActivityInstance() 
    { 
    return INSTANCE; 
    } 

public String getData() 
    { 
    return this.data; 
    } 
} 

클래스 B :

public class B extends Activity { 

String data; 

@Override 
    public void onCreate(Bundle savedInstanceState) { 
    data=A.getActivityInstance().getData(); 
    } 
} 

트릭 메소드 변수 등과 같은 모든 공용 요소에 액세스 할 인스턴스를 사용하여 다음 클래스 A의 인스턴스를 생성하는 해당 인스턴스를 사용합니다.

희망이 도움이 :)

+0

감사합니다. 형제 님,이 사람이 정말 좋습니다. 시간 내 주셔서 대단히 감사합니다. 그것은 나에게 많은 것을 의미합니다 :) –

+0

항상 동료 개발자를 도울 수있어서 언제든지 형제 님 환영합니다. D 및 btw는 질문을하기 전에 철저한 조사를 수행합니다.귀하의 질문은이 사람과 동일합니다 http://stackoverflow.com/questions/13515842/how-to-pass-data-from-one-activity-to-another-without-using-intents –

관련 문제