2016-08-30 6 views
-1

내 액티비티로받은 인 텐트를 프래그먼트로 어떻게 전달할 수 있습니까? 내 액티비티에 새로운 인 텐트를받을 때 새로운 Fragment를 만드는이 메서드가 있습니다.액티비티에서 프래그먼트로 인 텐트 전달하기

 private void searchForBump(){ 

       boolean inNoleggio = prefs.getBoolean(Keys.IN_NOLEGGIO, false); 

       if (!inNoleggio) { 

        Intent intent = this.getActivity().getIntent(); 
        if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction())) { 
         Parcelable[] rawMessages = intent.getParcelabl 

    eArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES); 
        NdefMessage message = (NdefMessage) rawMessages[0]; 
        String payload = new String(message.getRecords()[0].getPayload()); 
        String[] data = payload.split(":"); 
       //other stuff 
} 

이 방법은 조각의 ONSTART 및 다시 시작 방법에 호출됩니다

@Override 
public void onNewIntent(Intent intent){ 
    FragmentTransaction fragmentTransaction = this.getSupportFragmentManager().beginTransaction(); 
    fragmentTransaction.replace(R.id.frame_principale, new BumpFragment()); 
    fragmentTransaction.commit(); 
} 

그런 다음, 조각 클래스에 나는 활동으로받은 새 의도에서 작동이 방법을 가지고있다. 이 코드와 로직이 맞습니까? 앱을 테스트하기 때문에 의도가 수신되면 아무 일도 일어나지 않습니다. 물론 응용 프로그램의 매니페스트에서 나는 활동의 의도 필터를 넣어

답변

0

당신은

활동에

이 번들 fragment.setargument (데이터)로 인수를 전달 인자로 조각의 의도 값을 전달할 수 있습니다; 데이터는 당신이 당신의 활동 이름의 타입 캐스팅과 getActivity을 통해 조각의 조각에서

액세스 활동 방법을 활동 생성 콜백 메소드에서이 인수를 검색 할 수 있습니다 조각에서 번들 인스턴스

입니다

관련 문제