开发者

How to create an activity for each tab that is created dynamically?

开发者 https://www.devze.com 2022-12-24 20:56 出处:网络
I am trying to create and remove t开发者_运维问答abs dynamically. Usually an activity should be set for each tab created in TabSpec. But how to do it when the tabs are created dynamically? Here I am u

I am trying to create and remove t开发者_运维问答abs dynamically. Usually an activity should be set for each tab created in TabSpec. But how to do it when the tabs are created dynamically? Here I am using a frame layout to display tab content. If I try to use the same activity by setting the tab content, the text is getting overlapped. Here I have to read the text from the EditText view and set it as the tab content and that content should be shown whenever I navigate to that tab.


Try This

protected TabHost tabs;

// ...

/**
 * Init tabs.
 */
private void initTabs() {
tabs = (TabHost) findViewById(R.id.tabhost);
tabs.setup();
tabs.setBackgroundResource(R.drawable.bg_midgray);

TabHost.TabSpec spec;

// Location info
txtTabInfo = new TextView(this);
txtTabInfo.setText("INFO");
txtTabInfo.setPadding(0, 0, 0, 0);
txtTabInfo.setTextSize(14);
txtTabInfo.setBackgroundResource(R.drawable.bg_tab_left_inactive_right_inactive);
txtTabInfo.setTextColor(Color.DKGRAY);
txtTabInfo.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.TOP);
txtTabInfo.setHeight(39);
spec = tabs.newTabSpec("tabInfo");
spec.setContent(R.id.tabInfo);
spec.setIndicator(txtTabInfo);
tabs.addTab(spec);

// Maps
txtTabMap = new TextView(this);
txtTabMap.setText("MAP");
txtTabMap.setTextSize(14);
txtTabMap.setPadding(0, 0, 0, 0);
txtTabMap.setBackgroundResource(R.drawable.bg_tab_middle_inactive_right_active);
txtTabMap.setTextColor(Color.DKGRAY);
txtTabMap.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.TOP);
txtTabMap.setHeight(39);
spec = tabs.newTabSpec("tabMap");
spec.setContent(R.id.tabMap);
spec.setIndicator(txtTabMap);
tabs.addTab(spec);

tabs.setCurrentTab(0);

tabs.setOnTabChangedListener(this);
}

// ...
0

精彩评论

暂无评论...
验证码 换一张
取 消