Выполнить tabHost.addTab() после загрузки данных
Добавлено: 28 май 2014, 02:00
Загружаю данные в потоке и потом из потока, когда всё загрузилось, вызываю handler.
Как в этом хендлере выполнить tabHost.addTab ??
Пробую, но не получается, не могу туда вставить инит табов. В MainActivity всё работает, пробую в хендлер - косяк.
MainActivity.java
[syntax=java5]
Thread myThread = new Thread(new Runnable() {
@Override
public void run() {
xml = parser.getXmlFromUrl(this, URL); // getting XML from
mPD.dismiss();
}
});
myThread.start();
h = new Handler() {
public void handleMessage(android.os.Message msg) {
Log.d(TAG, "Handler....");
}
};
TabHost tabHost = getTabHost(); // The activity TabHost
Resources res = getResources(); // Resource object to get Drawables
Intent intent1; // Reusable Intent for each tab
// Create an Intent to launch an Activity for the tab (to be reused)
intent1 = new Intent().setClass(this, Tab1.class);
spec1 = tabHost.newTabSpec("home")
.setIndicator("HOME", res.getDrawable(R.drawable.ic_tab1_1))
.setContent(intent1);
tabHost.addTab(spec1);
tabHost.setCurrentTab(0);[/syntax]
Как в этом хендлере выполнить tabHost.addTab ??
Пробую, но не получается, не могу туда вставить инит табов. В MainActivity всё работает, пробую в хендлер - косяк.
MainActivity.java
[syntax=java5]
Thread myThread = new Thread(new Runnable() {
@Override
public void run() {
xml = parser.getXmlFromUrl(this, URL); // getting XML from
mPD.dismiss();
}
});
myThread.start();
h = new Handler() {
public void handleMessage(android.os.Message msg) {
Log.d(TAG, "Handler....");
}
};
TabHost tabHost = getTabHost(); // The activity TabHost
Resources res = getResources(); // Resource object to get Drawables
Intent intent1; // Reusable Intent for each tab
// Create an Intent to launch an Activity for the tab (to be reused)
intent1 = new Intent().setClass(this, Tab1.class);
spec1 = tabHost.newTabSpec("home")
.setIndicator("HOME", res.getDrawable(R.drawable.ic_tab1_1))
.setContent(intent1);
tabHost.addTab(spec1);
tabHost.setCurrentTab(0);[/syntax]