0

私はAndroidプログラミングに非常に慣れていません。私はアンドロイド 4.2 を使用しており、actionobBar の 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);

    }
}

しかし、「マップ」をクリックするたびに、タブが失われます。これは、単独でアクティビティを開始し、最初のアクティビティを停止するようです。私が望んでいたのは、「マップ」という名前のタブの下にマップがあることです。

ヒントを教えてもらえますか?

4

2 に答える 2

0

Android では、インテントは他のアクティビティと通信するために使用され、startActivitiy はあなたの外部で新しいものを起動します。インテントに関するチュートリアルについては、http ://www.vogella.com/articles/AndroidIntent/ を参照してください。

代わりに、マップを表示するために使用するビューをタブ レイアウトの下に配置し、インテントをまったく使用しないようにする必要があります。

ただし、アクティビティは Android の基本的な概念であるため、続行する前にアクティビティとは何かを完全に理解する必要があります

幸運を!

于 2013-07-05T01:39:19.603 に答える