我已经创建了一个包含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("•"));
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) {
}
};
}
`