2016-10-16 22 views
-1

私はメインページActivity1は、ビューページャ私はtabapdater アクティビティからフラグメントのメソッドを呼び出す方法Android?

  • を使用していた断片の最初は別のActivity2
  • に移動する方法を持っている3つの断片

  • を、この種の構造

    1. を保持していています私は、アクティビティ2でボタンをクリックすると、最初のフラグメントでいくつかのメソッドを起動したい0

      私はそうすることはできますか?あなたは私にそれのための任意のサンプルコードを与えることができますか?

      ありがとうございました

  • +0

    最初のフラグメントを2番目のアクティビティから変更したいのですが...そうですか? –

    +0

    そうですよね? –

    +0

    2番目のアクティビティのオブジェクトを最初のフラグメントに渡したいだけです –

    答えて

    0

    いくつかの解決策があります。 最初に考えているのはstartActivityForResultです。 startActivityの代わりにstartActivityForResultを呼び出すことで2番目のアクティビティを開始する場合は、onActivityResultメソッドをオーバーライドして最初のアクティビティを実行し、そこから最初のフラグメントの内容を変更します。

    別の良い簡単な解決策は、EventBusottoのようなバスを使用しています。 十分に文書化されています。あなたの活動で

    public void foo(Object objectToPassFromActivity) { 
        // do what you want 
    } 
    

    :あなたのフラグメントのクラスで

    0

    ExampleFragment fragment = (ExampleFragment) getFragmentManager().findFragmentByTag(getFragmentTag(R.id.yourViewPagerId, fragmentPosition); 
    fragment.foo(objectToPassFromActivity) 
    

    Addメソッド:あなたは、私が多くを得るために、コメントで追加されたリンクを見ることができます

    private String getFragmentTag(int viewPagerId, int fragmentPosition) { 
        return "android:switcher:" + viewPagerId + ":" + fragmentPosition; 
    } 
    

    詳細。

    +0

    は、フラグメントIDをxmlファイルに入れる必要がありますか? –

    +0

    私はフラグメントIDをxmlファイルに入れるべきですか? –

    +0

    どのように私は最初のフラグメントのタグを置くことができます????????? –

    関連する問題