기존 TabHosts의 리팩터링을 수행하려고하는 프로젝트가 있습니다. 아래 클래스처럼 보이는 아주 간단한 TabHost 파일이 있습니다. 일부는 실제로는 하나의 탭, 일부 3 개 등이 있습니다. 따라서 실제로 유일한 차이점은 탭의 수와 각 탭에로드 된 활동 클래스입니다. 나는 얼마나 많은 탭과 필요한 정보 (spec, indicator, content)를 결정하기 위해 번들로 전달 된 정보를 얻을 수있는 단일 TabHost를 작성하여 각 탭을 추가/추가하려고합니다. 번들에 넣을 수있는 항목이 꽤 기본적이고 Parcelable 또는 Serializable 기능에 익숙하지 않은 것 같습니다. 어떤 제안?Android - 번들 문제를 사용하여 정보를 전달하는 일반 TabHost 만들기
public class SomeTabHost
extends ActivityGroup
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// Inflate ourselves into the layout ViewStub
ViewStub vs = (ViewStub) findViewById(R.id.theViewStub);
vs.setLayoutResource(R.layout.my_tabhost);
vs.inflate();
TabHost host = (TabHost) findViewById(android.R.id.tabhost);
host.setup(getLocalActivityManager());
host.addTab(host.newTabSpec("Tab1")
.setIndicator("Tab1")
.setContent(new Intent(this, SomeActivity.class)));
host.addTab(host.newTabSpec("Tab2")
.setIndicator("Tab2")
.setContent(new Intent(this, SomeOtherActivity.class)));
int numChildren = host.getTabWidget().getChildCount();
for (int i=0; i <numChildren; i++)
{
host.getTabWidget().getChildAt(i).getLayoutParams().height = 35;
}
}// end onCreate
}// end class