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)を使用してFragment
にBundle
を配置する必要があり、その後、あなたはそれを取得するためにを使用する必要があり、およびバンドルを通じて、あなたが戻っからあなたを取得し、事前
私はあなたを理解していないのでしょうか? 私には意味がありません。私はFragmentActivityを拡張するクラスでそれを行うべきだと思います。詳細を教えてください。 ありがとうございます! – user1256477
はinfo.fragment a fragmentインスタンスですか? – Blackbelt
ありがとうございました!私はあなたの助けでそれを手に入れます! setArgumentsを追加する必要はありませんでしたが、私が試していたgetStringの代わりにgetArgumentsでそれらを捕捉する必要がありました。 ありがとうございます! – user1256477