gpt4 book ai didi

android - AsyncTask 在使用 SherlockFragments 更改选项卡时再次启动

转载 作者:行者123 更新时间:2023-11-30 03:26:22 25 4
gpt4 key购买 nike

我有扩展 SherlockFragmentActivity 的 MainActivity 和两个带有 SherlockFragment 的选项卡。这两个选项卡的 ListView 由 AsyncTask 填充。一切正常,但每当我从一个选项卡切换到另一个选项卡时,AsyncTask 会再次触发,我只想启动它一次。

这是我的 MainActivity:

public class MainActivity extends SherlockFragmentActivity {

private FragmentTabHost mTabHost;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);
mTabHost.setup(this, getSupportFragmentManager(), R.id.tabcontent);
mTabHost.addTab(mTabHost.newTabSpec("tab1").setIndicator("Tab1"),Tab1.class, null);
mTabHost.addTab(mTabHost.newTabSpec("tab2").setIndicator("Tab2"),Tab2.class, null);

}

这是 Tab1:

public class Tab1 extends SherlockFragment {


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.tab1, container, false);
return v;

}

@Override
public void onStart() {
super.onStart();
// TODO Auto-generated method stub

new FetchData().execute();

}

public class FetchData extends AsyncTask<String, String, String> {
.....
}

}

Tab2 包含相似的代码,只是mysql select 不同。一切正常,数据填充在 ListView 上,但每次我从 tab1 切换到 tab2 时,AsyncTask 再次触发:/请帮助 ...

最佳答案

每次 fragment 变得可见时都会调用 onStart 方法,例如当你切换标签时

来源:Android fragment life cycle

我建议你搬家:

new FetchData().execute();

进入onCreateView方法。

关于android - AsyncTask 在使用 SherlockFragments 更改选项卡时再次启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18163955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com