如何在标签之间共享参数

时间:2012-03-08 07:49:17

标签: android

我有一个带有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);
    }

所以,当我创建标签时:

  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);

在maps.java中,我尝试获取lat和lng参数,但我不能。

我该怎么做?

非常感谢您提前

1 个答案:

答案 0 :(得分:0)

你必须使用方法setArguments(Bundle)Bundle放入Fragment,然后你必须使用getArguments()来检索它,并通过捆绑你从getArguments()返回,您可以回复latitudelongitude