fragmentList=new ArrayList<>();
时间: 2023-06-16 10:08:34 浏览: 108
这是一个 Java 代码段,它创建了一个 ArrayList 对象,并将其赋值给名为 fragmentList 的变量。这个 ArrayList 是用来存储 Fragment 对象的,可以通过调用其 add() 方法向其中添加元素。在使用之前,需要先进行实例化,例如:
```
ArrayList<Fragment> fragmentList = new ArrayList<>();
```
这样就可以开始向其中添加 Fragment 对象了。
相关问题
public class MainActivity extends AppCompatActivity implements View.OnClickListener { ImageView addCityIv,moreIv; LinearLayout pointLayout; ViewPager mainVp=findViewById(R.id.main_vp);; //ViewPager的数据源 List<Fragment>fragmentList; //表示需要城市的集合 List<String>cityList; //表示ViewPager的页数指示器显示集合 List<ImageView>imgList; private CityFragmentPagerAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); addCityIv=findViewById(R.id.main_iv_add); moreIv=findViewById(R.id.main_iv_more); pointLayout=findViewById(R.id.main_layout_point); //添加点击事件 addCityIv.setOnClickListener(this); moreIv.setOnClickListener(this); fragmentList = new ArrayList<>(); cityList=new ArrayList<>(); imgList=new ArrayList<>(); if (cityList.size()==0){ cityList.add("北京"); } //初始化ViewPager页面的方法 initPager(); adapter = new CityFragmentPagerAdapter(getSupportFragmentManager(), fragmentList); mainVp.setAdapter(adapter); //创建小圆点指示器 } private void initPager() { //创建Fragment对象,添加到ViewPager数据源当中 for (int i=0;i<cityList.size();i++){ CityWeatherFragment cwFrag = new CityWeatherFragment(); Bundle bundle = new Bundle(); bundle.putString("city",cityList.get(i)); cwFrag.setArguments(bundle); fragmentList.add(cwFrag); } } @Override public void onClick(View v) { switch (v.getId()){ case R.id.main_iv_add: break; case R.id.main_iv_more: break; } } }用androidx库怎么写
你的代码中有一个问题,ViewPager的初始化应该在onCreate方法中进行,而不是在成员变量声明的位置。以下是使用androidx库的修改后的代码:
```
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
ImageView addCityIv, moreIv;
LinearLayout pointLayout;
ViewPager mainVp;
//ViewPager的数据源
List<Fragment> fragmentList;
//表示需要城市的集合
List<String> cityList;
//表示ViewPager的页数指示器显示集合
List<ImageView> imgList;
private CityFragmentPagerAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
addCityIv = findViewById(R.id.main_iv_add);
moreIv = findViewById(R.id.main_iv_more);
pointLayout = findViewById(R.id.main_layout_point);
mainVp = findViewById(R.id.main_vp);
//添加点击事件
addCityIv.setOnClickListener(this);
moreIv.setOnClickListener(this);
fragmentList = new ArrayList<>();
cityList = new ArrayList<>();
imgList = new ArrayList<>();
if (cityList.size() == 0) {
cityList.add("北京");
}
//初始化ViewPager页面的方法
initPager();
adapter = new CityFragmentPagerAdapter(getSupportFragmentManager(), fragmentList);
mainVp.setAdapter(adapter);
//创建小圆点指示器
}
private void initPager() {
//创建Fragment对象,添加到ViewPager数据源当中
for (int i = 0; i < cityList.size(); i++) {
CityWeatherFragment cwFrag = new CityWeatherFragment();
Bundle bundle = new Bundle();
bundle.putString("city", cityList.get(i));
cwFrag.setArguments(bundle);
fragmentList.add(cwFrag);
}
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.main_iv_add:
break;
case R.id.main_iv_more:
break;
}
}
}
```
在这个修改后的代码中,ViewPager的初始化被移动到了onCreate方法中,并使用findViewById方法来获取ViewPager的引用。同时,我还将ViewPager的初始化移到了adapter的初始化之后,以确保adapter不会在ViewPager未初始化时被调用。
添加五个fragment实例到fragmentList,以便管理
好的,可以使用以下代码将五个Fragment实例添加到一个List中:
```
List<Fragment> fragmentList = new ArrayList<>();
Fragment fragment1 = new Fragment1();
Fragment fragment2 = new Fragment2();
Fragment fragment3 = new Fragment3();
Fragment fragment4 = new Fragment4();
Fragment fragment5 = new Fragment5();
fragmentList.add(fragment1);
fragmentList.add(fragment2);
fragmentList.add(fragment3);
fragmentList.add(fragment4);
fragmentList.add(fragment5);
```
其中,`Fragment1`到`Fragment5`是你自己定义的继承自`Fragment`的Fragment类。这样,你就可以通过`fragmentList`来管理这五个Fragment实例了。
阅读全文