Загружаю данные в потоке и потом из потока, когда всё загрузилось, вызываю 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() после загрузки данных
Выполнить tabHost.addTab() после загрузки данных
Тут должна быть подпись.
Re: Выполнить tabHost.addTab() после загрузки данных
Для таких вещей лучше использовать AsyncTask
з.ы. по данному коду вообще непонятно,что делает хендлер, и что тут собственно вообще происходит кроме инициализации таба
з.ы. по данному коду вообще непонятно,что делает хендлер, и что тут собственно вообще происходит кроме инициализации таба
Re: Выполнить tabHost.addTab() после загрузки данных
Всё решилось вставив весь код иництализации в runOnUiThread из Thread
Тут должна быть подпись.