为了账号安全,请及时绑定邮箱和手机立即绑定

设置监听器后移动页卡会崩溃

我在设置了监听器以后再滑动页卡,App会崩溃掉,程序也没有报错,这是为什么?

正在回答

4 回答

加载监听器错了pager.addOnPageChangeListener(this);不是这个,而是pager.setOnPageChangeListener(this);

0 回复 有任何疑惑可以回复我~
#1

Ma峰 提问者

非常感谢!
2017-04-05 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//57babf0b000168c013660768.jpg这是错误,我也不会看,看不懂

0 回复 有任何疑惑可以回复我~

package com.example.myapplication;

import android.graphics.Color;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.PagerTabStrip;
import android.support.v4.view.ViewPager;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends FragmentActivity implements ViewPager.OnPageChangeListener {
   private List<View> viewList;
   private ViewPager pager;
   private List<String> titleList;
   private PagerTabStrip tabStrip;
   private List<Fragment>fragmentList;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
       //初始化
       viewList =new ArrayList<>();
       titleList =new ArrayList<>();
       fragmentList =new ArrayList<>();

       //加载Fragment
       fragmentList.add(new MyFragment1());
       fragmentList.add(new MyFragment2());
       fragmentList.add(new MyFragment3());
       fragmentList.add(new MyFragment4());

       //为页卡加载标题
       titleList.add("第一页");
       titleList.add("第二页");
       titleList.add("第三页");
       titleList.add("第四页");

       tabStrip= (PagerTabStrip) findViewById(R.id.tab);

       //设置标题属性
       tabStrip.setBackgroundColor(Color.BLACK);
       tabStrip.setTextColor(Color.WHITE);
       tabStrip.setDrawFullUnderline(false);
       tabStrip.setTabIndicatorColor(Color.RED);

       pager= (ViewPager) findViewById(R.id.pager);

       //加载页卡
       View view1=View.inflate(this,R.layout.view1,null);
       View view2=View.inflate(this,R.layout.view2,null);
       View view3=View.inflate(this,R.layout.view3,null);
       View view4=View.inflate(this,R.layout.view4,null);

       viewList.add(view1);
       viewList.add(view2);
       viewList.add(view3);
       viewList.add(view4);

       //设置适配器
       MyPagerAdapter pagerAdapter =new MyPagerAdapter(viewList,titleList);
       MyFragmentPagerAdapter pagerAdapter1 =new MyFragmentPagerAdapter(getSupportFragmentManager(),fragmentList,titleList);

       //加载适配器
       //pager.setAdapter(pagerAdapter);
       pager.setAdapter(pagerAdapter1);

       //加载监听器
       pager.addOnPageChangeListener(this);
   }

   @Override
   public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

   }

   @Override
   public void onPageSelected(int position) {
       Toast.makeText(this,position,Toast.LENGTH_SHORT).show();
   }

   @Override
   public void onPageScrollStateChanged(int state) {

   }

}

0 回复 有任何疑惑可以回复我~

代码和崩溃异常贴出来

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第二门课(第1季)
  • 参与学习       111161    人
  • 解答问题       1457    个

本课程由浅入深地带您学会Android的常用控件的开发和使用

进入课程

设置监听器后移动页卡会崩溃

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信