2012-03-08 8 views
0

私は3つのタブを持つFragmentActivityを持っていますが、それらは位置データを共有しています(緯度と経度が必要です)。タブ間でパラメータを共有する方法

私はこの方法を持っている:

だから、
public void addTab(String tag, TabHost.TabSpec tabSpec, Class<?> clss, Bundle args) { 

     tabSpec.setContent(new DummyTabFactory(mActivity)); 


     TabInfo info = new TabInfo(tag, clss, args); 

     // Check to see if we already have a fragment for this tab, probably 
     // from a previously saved state. If so, deactivate it, because our 
     // initial state is that a tab isn't shown. 
     info.fragment = mActivity.getSupportFragmentManager().findFragmentByTag(tag); 
     if (info.fragment != null && !info.fragment.isDetached()) { 
      FragmentTransaction ft = mActivity.getSupportFragmentManager().beginTransaction(); 
      ft.detach(info.fragment); 
      ft.commit(); 
     } 

     mTabs.put(tag, info); 
     mTabHost.addTab(tabSpec); 
    } 

、私はタブを作成するとき:maps.javaで

Bundle bundlePos = new Bundle(); 
    bundlePos.putString("lat", "98.645"); 
    bundlePos.putString("lng", "-1.2545"); 

    mTabManager.addTab("map", mTabHost.newTabSpec("map").setIndicator("Plano de paradas", this.getResources().getDrawable(R.drawable.maps_tab)), maps.class, bundlePos); 

を私は緯度とLNGのパラメータを取得しようが、私はカント。

どうすればいいですか?

は、メソッドsetArguments(Bundle)を使用してFragmentBundleを配置する必要があり、その後、あなたはそれを取得するためにを使用する必要があり、およびバンドルを通じて、あなたが戻っからあなたを取得し、事前

答えて

0

中ありがとうございました返信することができますlatitudelongitude

+0

私はあなたを理解していないのでしょうか? 私には意味がありません。私はFragmentActivityを拡張するクラスでそれを行うべきだと思います。詳細を教えてください。 ありがとうございます! – user1256477

+0

はinfo.fragment a fragmentインスタンスですか? – Blackbelt

+0

ありがとうございました!私はあなたの助けでそれを手に入れます! setArgumentsを追加する必要はありませんでしたが、私が試していたgetStringの代わりにgetArgumentsでそれらを捕捉する必要がありました。 ありがとうございます! – user1256477