0

ダイアログ内で TabHost を使用できますか。私のアプリケーションはアクティビティを拡張します(タブアクティビティではありません)。もう1つの問題は、タブが押されたときに関数を呼び出す方法です。

簡単な例を教えてください。

前もって感謝します

4

2 に答える 2

7

はい、ダイアログ内でタブホストを呼び出すことができます:

  button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
        Toast.makeText(context, "dialog", 1).show();    
                   // custom dialog
                    final Dialog dialog = new Dialog(context);
                    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
                    dialog.setContentView(R.layout.dialo);
                    dialog.setTitle("Title...");

                    TabHost tabs = (TabHost) dialog.findViewById(R.id.tabhost);

                    tabs.setup();

                    TabHost.TabSpec tabpage1 = tabs.newTabSpec("one");
                    tabpage1.setContent(R.id.tabview1);
                    tabpage1.setIndicator("",getResources().getDrawable(R.drawable.one));

                    TabHost.TabSpec tabpage2 = tabs.newTabSpec("two");
                    tabpage2.setContent(R.id.tabview2);
                    tabpage2.setIndicator("",getResources().getDrawable(R.drawable.two));

                    tabs.addTab(tabpage1);
                    tabs.addTab(tabpage2);



                    dialog.show();
                  }
    });
于 2013-03-12T10:08:23.623 に答える
1

HostTab レイアウトを作成し、各 Linear/Relative レイアウトに名前を付け、作成した各タブを宣言して、xml ファイルから Linear/Relative レイアウトを使用するように宣言しました....

dialog.setContentView(R.layout.maintabmenu);
TabHost tabs = (TabHost) dialog.findViewById(R.id.my_tabhost);
tabs.setup();
tabs.setCurrentTab(0);

TabSpec tspec11 = tabs.newTabSpec("Tab1");
tspec11.setIndicator("NEWTAB");

tspec11.setContent(R.id.ScrollView01);
tabs.addTab(tspec11);

TabSpec tspec2 = tabs.newTabSpec("Tab2");
tspec2.setIndicator("NEWTAB");

tspec2.setContent(R.id.ScrollView02);
tabs.addTab(tspec2);
于 2013-03-12T09:42:13.267 に答える