查看寻呼机需要时间来加载页面

时间:2015-09-09 19:03:59

标签: android android-viewpager singleton

我下面有一个ListView和ViewPager的Activity。最初,我的ViewPager不可见,并在单击切换按钮后变为可见。 ViewPager包含4个选项卡。第一个选项卡包含文本ListView,第二个选项卡包含手机内的所有音乐/ mp3,第三个选项卡显示手机内的所有图像,第四个选项卡显示手机内的所有视频。  我有setOffscreenPageLimit(3)以避免一次又一次地创建视图。

为了避免一次又一次地获取标签的数据,我使用了单件类。

以下是给我文字的课程

public class TextManager {

private static ArrayList<String> text = new ArrayList<>();
private static TextManager instance;

public static TextManager getInstance() {
    if(instance == null) {
        instance = new TextManager();
    }
    return instance;
}

public TextManager() {
    // get all the texts here
}

public ArrayList<String> getText() {
    return text;
}
}

同样是音乐,图像和视频课程。构造函数中只有区别在于从手机获取数据。

当我的活动可见时,ViewPager不可见。 ViewPager的可见性由切换按钮控制。我点击了切换按钮,现在ViewPager变得可见了。 ViewPager第一次变得可见时,它会持续1-2秒。然而,如果我隐藏并一次又一次地显示ViewPager,它就会被隐藏起来,它会立即隐藏并变得可见,这在第一次就不是这样了。

如果我回到之前的活动并参加此活动,第一次仍需要时间,并且在剩下的时间内可以快速显示。

我希望视图即使是第一次即时可见。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

就像你在Frag1,Frag2,Frag3,Frag4等4个片段中有ParentFragment一样

所以,在

Frag1.java extends Fragment
{
    onCreate()
    {
        inflate layout...
    }
    onStart()
    {
        new Handler().postdelay(new Runnable() { //same thing for other Fragments
            @Override
            public void run() {
                //all your code will go here
            }
        }
        ,0);
    }
}

同样对所有其他三个片段做同样的事情,但要确保在onResume()中不应该有任何依赖onStart()的代码。并且所有代码都应该在Handler()中,这样所有四个片段都可以并行执行。