Android if语句不适用于setOnClickListener

时间:2018-07-16 01:42:43

标签: if-statement android-intent switch-statement

我已经创建了一个包含3张幻灯片的android studio演练屏幕,我需要在按下第三张幻灯片上的mNextBtn按钮时将其更改为另一个Java类。如您在下面的代码中看到的,我使用了if语句,但是它不起作用,因为当我运行并按下mButtonBtn按钮时,应用程序停止,该如何解决?

public class Portada extends AppCompatActivity {

private ViewPager mSlideViewPager;
private LinearLayout mDotLayout;

private TextView[] mDots;

private SliderAdapter sliderAdapter;

private Button mNextBtn;
private Button mBackBtn;

private int mCurrentpage;

 int mLogin;


public void onLogin (){
    if (mDots.length == 3){
        Intent intent= new Intent(Portada.this, Login.class);
        startActivity(intent);
    }else
    {
        mSlideViewPager.setCurrentItem(mCurrentpage + 1);
    }
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_portada);

    mSlideViewPager = (ViewPager) findViewById(R.id.slideViewPager);
    mDotLayout = (LinearLayout) findViewById(R.id.dotsLayout);

    mNextBtn = (Button) findViewById(R.id.nextBtn);
    mBackBtn = (Button) findViewById(R.id.prevBtn);

    sliderAdapter = new SliderAdapter(this);

    mSlideViewPager.setAdapter(sliderAdapter);

    addDotsIndicator(0);
    mSlideViewPager.addOnPageChangeListener(viewListerer);


    mNextBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (mDots.length == 3){
                Intent intent= new Intent(getApplicationContext(), Login.class);
                startActivity(intent);
            }else
            {
                mSlideViewPager.setCurrentItem(mCurrentpage + 1);
            }
        }
    });


    mBackBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mSlideViewPager.setCurrentItem(mCurrentpage - 1);
        }
    });

}

public void addDotsIndicator(int position) {
    mDots = new TextView[3];
    mDotLayout.removeAllViews();

    for(int i = 0; i < mDots.length; i++ ){

        mDots[i] = new TextView(this);
        mDots[i].setText(Html.fromHtml("&#8226;"));
        mDots[i].setTextSize(50);
        mDots[i].setTextColor(getResources().getColor(R.color.colorTransparentWhite));

        mDotLayout.addView(mDots[i]);

    }

    if (mDots.length > 0){
        mDots[position].setTextColor(getResources().getColor(R.color.colorWhite));
    }
}

ViewPager.OnPageChangeListener viewListerer = new ViewPager.OnPageChangeListener() {
    @Override
    public void onPageScrolled(int i, float v, int i1) {

    }



    @Override
    public void onPageSelected(int i) {

        addDotsIndicator(i);

        mCurrentpage = i;
        if (i == 0){
            mNextBtn.setEnabled(true);
            mBackBtn.setEnabled(false);
            mBackBtn.setVisibility(View.INVISIBLE);
            mNextBtn.setText("NEXT");
            mBackBtn.setText("");
        }else if(i == mDots.length - 1) {
            mNextBtn.setEnabled(true);
            mBackBtn.setEnabled(true);
            mBackBtn.setVisibility(View.VISIBLE);
            mNextBtn.setText("FINISH");
            mBackBtn.setText("BACK");
        }else {
            mNextBtn.setEnabled(true);
            mBackBtn.setEnabled(true);
            mBackBtn.setVisibility(View.VISIBLE);
            mNextBtn.setText("NEXT");
            mBackBtn.setText("BACK");
        }

    }

    @Override
    public void onPageScrollStateChanged(int i) {

    }
};

}

`

0 个答案:

没有答案
相关问题