2013-07-10 35 views
0

我的應用程序的文本編輯器允許用戶打開和編輯文件,我想在TabHost中將其打開爲新選項卡,因此可以打開多個文件。如何將EditText添加到新創建的Tab?這是我在我的onCreate()如何在程序中創建一個帶有EditText的選項卡?

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());

+0

你可以發佈你的'xml'嗎? –

+0

xml在這裏不相關 –

+0

沒想到這樣:)試試你的答案拉斐爾。 1秒 – RapsFan1981

回答

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; 
       } 
      }); 
相關問題