为活动添加意图

时间:2013-07-05 00:22:58

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

我对android编程很新。我使用的是android 4.2,我有一个主要的活动,它包含一个actiobBar中的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);

    }
}

但每当我点击“地图”时,我都会丢失标签。似乎这会自行启动一个活动并停止第一个活动。我喜欢的是在名为“地图”的标签下设置地图。

你能帮我提一些提示吗?

2 个答案:

答案 0 :(得分:0)

在Android中,一个intent用于与其他活动进行通信,startActivitiy会在你的外面启动一个新的。有关意图的教程,请查看此处:http://www.vogella.com/articles/AndroidIntent/

相反,您想要做的是放置您用于在标签布局下显示地图的任何视图,然后根本不使用意图。

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

古德勒克!

答案 1 :(得分:0)

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

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

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