タブレイアウトと進行状況ダイアログに取り組んでいます。ユーザーがタブレイアウトを表示したとき、およびユーザーがタブを変更したときに、進行状況ダイアログを5秒間表示したいと思います。
次の同じコードを使用して、両方の条件で進行状況ダイアログを表示しました。
public class TabLayoutActivity extends TabActivity {
ProgressDialog progressDialog;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tablayoutview);
progressDialog = ProgressDialog.show(TabLayoutActivity.this, "",
"Loading. Please wait...");
new Thread() {
public void run() {
try {
Thread.sleep(5000);
TabHost tabHost = getTabHost();
TabHost.TabSpec tabSpec;
Intent intent = new Intent().setClass(
getApplicationContext(), FirstTabActivity.class);
tabSpec = tabHost.newTabSpec("first").setIndicator("First")
.setContent(intent);
tabHost.addTab(tabSpec);
intent = new Intent().setClass(getApplicationContext(),
SecondTabActivity.class);
tabSpec = tabHost.newTabSpec("second")
.setIndicator("Second").setContent(intent);
tabHost.addTab(tabSpec);
} catch (Exception e) {
Log.e("tag", e.getMessage());
}
progressDialog.dismiss();
}
}.start();
}
}
進行状況ダイアログは正常に機能していますが、タブの内容が表示されません。次のエラーが表示されています。
「ビュー階層を作成した元のスレッドのみがそのビューにアクセスできます」