0

我只是有 2 个选项卡,并用作经验 - TabActivity 中的多个 Android 活动的参考 我的类体系结构是这样的:
MainActivity 扩展 TabActivity
1. TabGroup1Activity扩展 TabGroupActivity (从上述参考实现的 TabGroupActivity 类)
1.i。Tab1Activity扩展 MapActivity(它有多个标记)
2. TabGroup2Activity扩展 TabGroupActivity
2.i。Tab2Activity

MainActivity.java

TabHost = getTabHost();
    Intent intentTab;
    intentTab = new Intent().setClass(this, TabGroup1Activity.class);
    mTabHost.addTab(mTabHost.newTabSpec("tab_1").setIndicator("Search")
            .setContent(intentTab));

    intentTab = new Intent().setClass(this, TabGroup2Activity.class);
    mTabHost.addTab(mTabHost.newTabSpec("tab_2").setIndicator("Google Map")
            .setContent(intentTab));
TabHost.setCurrentTab(0);

TabGroup2Activity.java

public class GroupTab2Activity extends TabGroupActivity{
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        startChildActivity("Tab2Activity", new Intent(this,Tab2Activity.class));


    }

}

Tab2Activity.java中,我有一个名为 googleMapButton 的按钮。

googleMapButton.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {            

            final Intent intent = new Intent(Intent.ACTION_VIEW, Uri
                    .parse("http://maps.google.com/maps?"
                            + "saddr=43.0054446,-87.9678884"
                            + "&daddr=42.9257104,-88.0508355"));

            intent.setClassName("com.google.android.apps.maps",
                    "com.google.android.maps.MapsActivity");
            startActivity(intent);

        }
    });

单击按钮时,它会加载原生谷歌地图,但底部的标签消失了,我怎样才能让它在同一个标​​签中打开?
谢谢!!

4

1 回答 1

1

看看这里:

googleMapButton.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {            

        final Intent intent = new Intent(Intent.ACTION_VIEW, Uri
                .parse("http://maps.google.com/maps?"
                        + "saddr=43.0054446,-87.9678884"
                        + "&daddr=42.9257104,-88.0508355"));

        intent.setClassName("com.google.android.apps.maps",
                "com.google.android.maps.MapsActivity");
        startActivity(intent);

    }
});

你正在做的是向设备上安装的谷歌地图应用程序(“com.google.android.apps.maps”)发出明确的意图,要求它运行 MapsActivity。一旦它被触发,它就会离开您的应用程序并运行 Google Map。

如果您想在自己的应用程序中打开 Google Map,则必须自己完成。这对你来说是一个好的开始: http: //eagle.phys.utk.edu/guidry/android/mapOverlayDemo.html

于 2012-04-09T10:40:32.833 回答