Android 在应用程序打开时加载所有片段
我有一个应用程序,它使用片段创建页面适配器。我使用它来创建一个滑动选项卡,它加载一个不同的片段。每个片段加载webview,其中显示一个特殊格式的网站。现在,我的应用程序只加载它所在的片段以及它左右两侧的片段。我希望一次加载所有六个选项卡,而不再加载。有办法做到这一点吗Android 在应用程序打开时加载所有片段,android,android-fragments,android-webview,Android,Android Fragments,Android Webview,我有一个应用程序,它使用片段创建页面适配器。我使用它来创建一个滑动选项卡,它加载一个不同的片段。每个片段加载webview,其中显示一个特殊格式的网站。现在,我的应用程序只加载它所在的片段以及它左右两侧的片段。我希望一次加载所有六个选项卡,而不再加载。有办法做到这一点吗 import android.content.res.Configuration; import android.os.Bundle; import android.support.v4.app.Fragment; import
import android.content.res.Configuration;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
public class MainActivity extends FragmentActivity {
ViewPager viewPager=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager = (ViewPager) findViewById(R.id.pager);
FragmentManager fragmentManager=getSupportFragmentManager();
viewPager.setAdapter(new MyAdapter(fragmentManager));
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}
}
class MyAdapter extends FragmentPagerAdapter {
public MyAdapter(FragmentManager fm) {
super(fm);
// TODO Auto-generated constructor stub
}
@Override
public Fragment getItem(int i) {
Fragment fragment=null;
if(i==0)fragment=new Introduction();
if(i==1)fragment=new Arena();
if(i==2)fragment=new Game();
if(i==3)fragment=new Robot();
if(i==4)fragment=new Tournament();
if(i==5)fragment=new Glossary();
return fragment;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return 6;
}
public CharSequence getPageTitle(int position) {
String title=new String();
if(position==0)return "Summary";
if(position==1)return "The Arena";
if(position==2)return "The Game";
if(position==3)return "The Robot";
if(position==4)return "The Tournament";
if(position==5)return "Glossary";
return null;
}
}
用超过你一半的号码打电话。
这将强制viewpager创建并保留适配器中创建的所有片段
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager = (ViewPager) findViewById(R.id.pager);
// use a number higher than half your fragments.
viewPager.setOffscreenPageLimit(4);
FragmentManager fragmentManager=getSupportFragmentManager();
viewPager.setAdapter(new MyAdapter(fragmentManager));
}
在科特林:
viewPager.offscreenPageLimit = size / 2
默认情况下offscreenPageLimit=1,这意味着它在当前片段的两侧加载1个片段。总共3架好的。。这有助于Mendroid API 30这似乎不再起作用