我已经构建了一个应用程序,一旦应用程序第一次运行,它就会开始将图像和一些数据从应用程序复制到内部存储器。然后稍后在另一个活动的其他地方使用这些数据。
复制过程需要 30 多秒。所以我想在异步任务中做到这一点。但我无法让它工作。异步任务运行良好,但我需要创建选项卡规范并将意图分配给 onPostExecute 方法上的每个规范。但我看到的只是没有规格的标签栏,没有任何效果。
那么知道如何以这种方式构建它吗?
任何帮助将不胜感激。我的活动在这里,
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tabbar_main);
myJSON = new DataBaseJSONFunctions(this);
TabHost tabHost = getTabHost();
TabWidget tabWidget = tabHost.getTabWidget();
Resources res = getResources();
//TabHost tabHost = getTabHost();
TabHost.TabSpec spec;
Intent intent;
// Starting Initialization process.
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
if(!prefs.getBoolean("firstRun", false)) {
initializeAll();
// Set "firstRun" true to make it runs once application is installed.
prefs.edit().putBoolean("firstRun", true).commit();
}
我想把这个块放在一个异步任务中,
intent = new Intent().setClass(this,Activities.class);
spec = tabHost.newTabSpec("activities").setIndicator("act",res.getDrawable(R.drawable.tab_activities_selector)).setContent(intent);
tabHost.addTab(spec);
// doing the same things.
intent = new Intent().setClass(this, Promotions.class);
spec = tabHost.newTabSpec("promotion").setIndicator("Promotion",res.getDrawable(R.drawable.tab_promotions_selector)).setContent(intent);
tabHost.addTab(spec);
// doing the same things for Albums Activity.
intent = new Intent().setClass(this,Menu.class);
spec = tabHost.newTabSpec("menu").setIndicator("Menü",res.getDrawable(R.drawable.tab_menu_selector)).setContent(intent);
tabHost.addTab(spec);
for(int i = 0; i < tabWidget.getChildCount(); i++){
tabWidget.getChildAt(i).setBackgroundResource(R.drawable.tab_bar);
}
tabHost.setCurrentTab(0);
顺便说一句,我正在将我的活动上下文传递给异步任务。