Загружать данные фрагмента только вовремя - PullRequest
1 голос
/ 09 февраля 2012
class GoogleMusicAdapter extends TestFragmentAdapter implements TitleProvider {
    public GoogleMusicAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {

        if(position == 0)
            return MyClass.newInstance();
        else if(position == 1)
            return MyClass.newInstance();
        else
            return MyClass.newInstance();

    }

    @Override
    public int getCount() {
        return SampleTabsStyled.CONTENT.length;
    }

    @Override
    public String getTitle(int position) {
        return SampleTabsStyled.CONTENT[position % SampleTabsStyled.CONTENT.length];
    }

}

У меня есть AsyncTask в моем классе MyClass. Я использую этот класс GoogleMusicAdapter в моем viewpager. Каждый раз, когда я меняю страницу на другую, она запускает asynctask еще раз, но я не хочу его. Он должен запускаться при запуске и не должен Т позвонил еще раз. Как я могу это сделать?

1 Ответ

2 голосов
/ 09 февраля 2012

Сделать это синглтоном?

private static class MyAsyncTask extends AsyncTask<Void,Void,Void> {
    private MyAsyncTask mInstance;

    public static boolean executeIfNotCreated() {
        if(mInstance == null) {
            mInstance = new MyAsyncTask();
            mInstance.execute();
            return true;
        } 
        return false;
    }
    ...
}
...