【问题标题】:adding an intent to an activity向活动添加意图
【发布时间】:2013-07-05 00:22:57
【问题描述】:

我对 android 编程很陌生。我正在使用 android 4.2,我有一个主要活动,它由一个 actionbar 中的 3 个选项卡组成。 如果用户单击某个选项卡,我想开始另一个活动(mapActivity)。 因此,如果用户单击选项卡,我会创建一个意图。 代码如下:

     @Override
     public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
         // When the given tab is selected, switch to the corresponding page in
         // the ViewPager.
         mViewPager.setCurrentItem(tab.getPosition());

         if(tab.getText().equals("Map")){

            Intent intent = new Intent().setClass(this, MapDisplayActivity.class);
            this.setIntent(intent);
            startActivity(intent);

    }
}

但每当我点击“地图”时,我都会丢失标签。似乎这会自行启动一项活动并停止第一个活动。我想要的是在名为“地图”的选项卡下拥有地图。

你能帮我提供任何提示吗?

【问题讨论】:

    标签: android android-intent android-4.2-jelly-bean


    【解决方案1】:

    这里有两种方法你正在混合,你不能真正混合两者:

    1) 您可以使用片段,这似乎是您在操作栏上使用的。但是您需要在片段中实现地图,请参阅http://developer.android.com/reference/com/google/android/gms/maps/SupportMapFragment.htmlhttp://developer.android.com/guide/components/fragments.html

    2) 另一种方式是使用 TabActivity 为每个选项卡使用单独的活动的旧方式,您可以在其中创建新的活动,就像您开始使用 mapActivity 一样,但这种方式从 Honeycomb 开始已被弃用。

    【讨论】:

      【解决方案2】:

      在 Android 中,intent 用于与其他活动进行通信,并且 startActivitiy 会在您的活动之外启动一个新活动。有关意图的教程请看这里:http://www.vogella.com/articles/AndroidIntent/

      您想要做的是将用于显示地图的任何视图放在选项卡布局下,然后根本不使用意图。

      但一般来说,在继续之前,您需要完全了解活动是什么,因为它是 Android 的基本概念:这是一个链接:http://developer.android.com/guide/components/fundamentals.html

      祝你好运!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-19
        • 2011-04-13
        • 2012-05-12
        • 2019-07-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多