먼저 대략의 소스는 아래와 같습니다.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tabview);
ctx = this;
progress = CustomeProgressDialog.show(ctx, "", "", true, true, null);
tabHost = getTabHost();
handler.postDelayed(new Runnable()
{
@Override
public void run()
{
try
{
spec = tabHost.newTabSpec("tab1").setIndicator(new MyView(ctx, R.drawable.star, "List1")).setContent(new Intent(ctx, ListItem.class));
tabHost.addTab(spec);
spec = tabHost.newTabSpec("tab2").setIndicator(new MyView(ctx, R.drawable.star, "List2")).setContent(new Intent(ctx, ListItem.class));
tabHost.addTab(spec);
handler.post(setEnd);
}
catch (Exception e)
{
}
}
}, 1000);
}
각 탭마다 List(ListItem.class)를 뿌려주고 그 List에서는 외부의 XML을 파싱하여 내용을 구성하고 있습니다.
tabHost.addTab(spec); ListItem 에서 XML을 파싱하면서 딜레이가 생겨 커스터마이징한
CustomeProgressDialog 를 사용하여 화면에 원형의 프로그래스를 표시하여 주려고 했습니다.
헌데 handler.postDelayed 에 준 시간동안에는 이상없이 잘 돌아가는대 thread안에서 tabHost.addTab(spec)
를 실행하고 xml이 로드되기 시작하면 잘 돌아가던 ProgressDialog 멈춰버립니다.
아직 초보개발자라서 설명이 두서 없지만 많은 도움 부탁 드립니다.
호로이드 // 답변 감사합니다^^ 파싱을 하는 부분이 ListItem.class 부분은 맞습니다
하지만 현재 소스상의 액티비티가 메인이라 기본 탭이 오픈될때 대기 시간이 있어 그 대기시간에 인트로를 보여주고자
위처럼 탭을 구성하는 액티비티에 쓰레드를 구성하였습니다.



