0

2 つの異なるタブ (件名と章) を含む 1 つのタブビューがあり、
別のタブに別のメニューを作成する必要があります。私の質問は、
件名タブと章タブに別のメニューを作成する方法です。2 つのメニューを作成しましたが、両方のタブ ビューに 1 つのメニューが表示されます。
ヒントや参考になさってください。
前もって感謝します。
参照用の私のコードは次のとおりです。

public class MasterMainActivity extends TabActivity
{
LayoutInflater layoutInflater = null;
@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.master);
     Intent intent=getIntent();
     setResult(RESULT_OK, intent);
        layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        TabHost tabHost = getTabHost();


        TabHost.TabSpec tab1spec = tabHost.newTabSpec("tabOneSpec");        
        ImageView imgView = new ImageView(this);
        //imgView.setBackgroundResource(R.drawable.examstudy);
        tab1spec.setIndicator("Subject", imgView.getBackground());
        tab1spec.setContent(new TabContentLayout());

        TabHost.TabSpec tab2spec = tabHost.newTabSpec("tabTwoSpec");
        tab2spec.setContent(new TabContentLayout());
        ImageView imgView1 = new ImageView(this);
       // imgView1.setBackgroundResource(R.drawable.datetime);
        tab2spec.setIndicator("Chapter", imgView1.getBackground());   
        tabHost.addTab(tab1spec);
        tabHost.addTab(tab2spec);          
      }
            private class TabContentLayout implements TabHost.TabContentFactory {
        @Override
        public View createTabContent(String tag) {
            View view = null;
            if(tag.equals("tabOneSpec"))
            {
                view = (LinearLayout) layoutInflater.inflate(R.layout.subjecttabview, null);                    

            }
            if(tag.equals("tabTwoSpec"))
            {
                view = (LinearLayout) layoutInflater.inflate(R.layout.chaptertabview, null);                    
            }               
            return view;
        }
    }
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // TODO Auto-generated method stub
            MenuInflater inflater = getMenuInflater();
            inflater.inflate(R.menu.master_subject, menu);      
            return true;
        }
        @Override
        public boolean onOptionsItemSelected(MenuItem item) 
        {
                switch (item.getItemId())
                {
                case R.id.master_AddSubject: 
                      Intent intent=new   Intent(getApplication(),AddMasterSubActivity.class);
                      startActivity(intent);
                        return true;

                case R.id.master_SubjectUpdate:
                       //deleteAll();
                        return true; 
                case R.id.master_SubjectDelete:
                       //deleteAll();
                        return true; 
                  } 
                return false; //should never happen
        }

        public boolean onCreateOptionsMenu1(Menu menu) {
            // TODO Auto-generated method stub
            MenuInflater inflater = getMenuInflater();
            inflater.inflate(R.menu.master_chapter, menu);      
            return true;
        }
        public boolean onOptionsItemSelected1(MenuItem item) 
        {
                switch (item.getItemId())
                {
                case R.id.master_Chapter_AddChapter: 
                     Intent intent=new Intent(getApplication(),AddMasterChaActivity.class);
                      startActivity(intent);
                        return true;
                case R.id.master_ChapterUpdate:
                       //deleteAll();
                        return true; 
                case R.id.master_ChapterDelete:
                       //deleteAll();
                        return true; 
                  } 
                return false; //should never happen
        }

}
4

1 に答える 1

1

しかしまず、1 つのアクティビティで表示できるメニューは 1 つだけです。タブ アクティビティには 2 つの役に立たないメニューがあります。

そして第二 に、タブアクティビティの主な目的は、単純なビューだけでなく、アクティビティを切り替えることです

ここでタブアクティビティによって開始されるサブアクティビティで使用される2つのメニューを使用する代わりに、これを試したことはありませんが、うまくいくはずです。

タブのアクティビティ{

タブ 1: アクティビティ A

タブ 2: アクティビティ B

}

A{ ここにメニューを表示 }

B{ ここにメニューを表示 }

于 2012-03-22T10:55:35.500 に答える