0

我的应用程序的文本编辑器允许用户打开和编辑文件,我想在 TabHost 中将文件作为新选项卡打开,以便可以打开多个文件。如何将 EditText 添加到新创建的选项卡?这就是我在 onCreate() 中尝试过的

TabHost tabHost=(TabHost)findViewById(R.id.tabHost);
        tabHost.setup();
        EditText editor = new EditText(this);
        TabSpec spec1=tabHost.newTabSpec("Tab 1");
        spec1.setContent(editor.getId());
        spec1.setIndicator("Tab 1");

我认为问题是`spec1.setContent(editor.getId());

4

1 回答 1

1

您尝试将 id (未顺便定义)设置为布局 id。它不会那样工作。尝试:

TabHost tabHost=(TabHost)findViewById(R.id.tabHost);
        tabHost.setup();
        EditText editor = new EditText(this);
        TabSpec spec1=tabHost.newTabSpec("Tab 1");
        spec1.setIndicator(editor); 

如果这是你想要的。你也可以试试:

TabHost tabHost=(TabHost)findViewById(R.id.tabHost);
            tabHost.setup();
            final EditText editor = new EditText(this);
            TabSpec spec1=tabHost.newTabSpec("Tab 1");
            spec1.setContent(new TabHost.TabContentFactory(){
                 public View createTabContent(String tag){
                     return editor;
                 }
             });
于 2013-07-10T23:48:48.227 回答