
package com.ddan.test.view.tab.step9;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TabHost;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.TabHost.TabSpec;
/*
* 동적으로 탭 추가하기.
*/
public class View_Tab5_Step9 extends Activity
{
public int count;
public TabHost tabHost;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/*
*Main에 생성한 TabHost를 사용함.
*
*/
count =1;
tabHost = (TabHost)findViewById(R.id.tabhost);
tabHost.setup();
// TabActivity를 사용하지 않는 경우 탭추가전 setup() 메소드를 호출해야됨.
TabSpec tabSpec =tabHost.newTabSpec("tab1")
.setIndicator("tab1")
.setContent(R.id.view1);
tabHost.addTab(tabSpec);
// 추가 처리.
Button btn_Add = (Button)findViewById(R.id.btn_Add);
btn_Add.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
count++;
addTab();
}
});
Button btn_Del = (Button)findViewById(R.id.btn_Del);
btn_Del.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
//count--;
//removeTab();
Toast.makeText(View_Tab5_Step9.this, "제거는 미구현", 100).show();
}
});
}
public void addTab()
{
// 다른 형태의 탭 추가 하기.
TabHost.TabSpec spec = tabHost.newTabSpec("tab"+count);
spec.setIndicator("tab"+count);
spec.setContent(new TabHost.TabContentFactory()
{
@Override
public View createTabContent(String tag)
{
// TODO Auto-generated method stub
final TextView tv = new TextView(View_Tab5_Step9.this);
tv.setText("팩토리 객체에 의해서__" + tag);
return tv;
}
});
tabHost.addTab(spec);
}
public void removeTab()
{
//tabHost.getTabWidget().removeViewAt(0);
//tabHost.getTabContentView().removeViewAt(0);
//tabHost.refreshDrawableState();
}
}