2016-08-30 12 views
-1

アクティビティで受け取ったインテントをフラグメントに渡すにはどうすればよいですか? 私はこのアクティビティが新しいインテントを受け取ったときに新しいフラグメントを作成する自分のアクティビティにこのメソッドを持っています。アクティビティからフラグメントへのインテントの受け渡し

 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てフラグメントにフラグメントで

アクティビティにアクセスする方法を活動作成したコールバックメソッドでは、この引数を取得することができますフラグメントでバンドルインスタンス

ある

関連する問題