SherlockFragmentActivity를 확장하는 MainActivity와 SherlockFragment를 갖는 두 개의 탭이 있습니다. 이 두 탭에는 AsyncTask로 채워진 ListView가 있습니다. 그것은 모두 잘 작동하지만 탭에서 탭으로 전환 할 때마다 AsyncTask가 다시 트리거되고 한 번만 시작하려고합니다.SherlockFragments로 탭 변경시 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과 유사한 코드가 포함되어 있습니다. 모든 것이 잘 작동하지만 ListView에서 데이터가 채워지지만 Tab1에서 Tab2로 전환 할 때마다 AsyncTask가 다시 트리거됩니다./도와주세요 ...
나는 그것을 시도했지만, AsyncTask는 트리거하지 않을 것이지만, 그 탭으로 돌아 가면 빈 화면을 제공한다. – Stole51