cityweatherFragment

在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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库怎么写
06-03
你的代码中有一个问题,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未初始化时被调用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值