我完全不知道为什么我的应用程序会发生接下来的事情:我有一个带有大约 20 个片段的 viewpager,2..20 个片段从 http 连接获取数据,我想将其与 AsyncTask 一起使用。进度条出现,http 连接建立,这些片段很好。但是,我必须对其他带有一些静态数据的片段,它们不需要连接,但是我在 FragmentActivity 中建立了连接,所以它也不应该对它们产生不同的影响。但不知何故,我得到了这两个片段,我得到了两个蓝页,因为整个片段由一个蓝色背景的布局组成。
AsynTask 部分:
public class BackgroundAsyncTask extends
AsyncTask<Void, Integer, Void> {
int myProgress;
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
pb.setVisibility(View.GONE);
pager.setAdapter( adapter );
indicator.setViewPager( pager );
pager.setAdapter(mPagerAdapter);
pager.setCurrentItem(INITIAL_PAGE);
pager.setOffscreenPageLimit(3);
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
pb.setVisibility(View.VISIBLE);
}
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
//http post MYQUERY1 - this works like charm
getData();
return null;
}
}
onCreate() 部分:
setContentView( R.layout.main );
context=this;
//bblablabla
pb = (ProgressBar)findViewById(R.id.progressbar);
//for viewpager
pager = (ViewPager)findViewById( R.id.viewpager );
adapter = new GoogleMusicAdapter(getSupportFragmentManager());
indicator = (TabPageIndicator)findViewById( R.id.indicator );
fragments.clear();
fragments.add( TabMyList1.class.getName());
fragments.add( TabMyList2.class.getName()); //these 2 are blue
fragments.add(TabListFromNet1.class.getName());
//.... these work
fragments.add(TabListFromNet18.class.getName());
mPagerAdapter = new PagerAdapter1(super.getSupportFragmentManager(), fragments);
new BackgroundAsyncTask().execute();
那么这怎么可能呢?我的片段不需要更多的工作,尤其是 2 个静态片段,为什么是蓝色的?非常感谢您,我现在正在努力解决这个问题。