2016-08-30 3 views
-1

Как передать намерение, полученное в моей деятельности, фрагменту? У меня есть этот метод в моей деятельности, который создает новый фрагмент, когда действие получает новое намерение.Передача намерения от действия к фрагменту

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

Затем в классе фрагмента у меня есть этот метод, который работает на новом Intent полученной деятельности:

 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 фрагмента и методов Резюме. Правильно ли этот код и логика? Поскольку тестирование приложения, когда намерение получено, ничего не происходит. Естественно, что в манифесте приложения я поставил пристальный фильтр для деятельности

ответ

0

Вы можете передать Намерение значения фрагмента в качестве аргумента

на активности передать аргумент как расслоение fragment.setargument (данные); данные экземпляр расслоения

В фрагмента вы можете получить этот аргумент в деятельности создана методе обратного вызова в фрагменте

доступа к методу активности в фрагменту через getActivity с типом произнесением имени деятельности

Смежные вопросы