确定为什么我的 android 应用程序在打开时崩溃

Determine why my android app crashes upon opening

编辑: 在写这个问题之前,我不知道为什么我的应用程序崩溃了,我也不知道如何修复它。我坚持这个的原因是让初学者了解什么是logcat(如果我知道它存在,我可能不会写这个问题)。

因此,如果您的 android 应用程序在编译时没有产生任何错误,但在打开或单击某些内容后崩溃,请检查 logcat! window 底部有一个任务栏,其中包含几个选项:运行、TODO、Android 监视器、终端和消息。单击 'Android Monitor',当它打开时,选择顶部的选项卡 'logcat'。

我原来的问题:

我的应用程序运行正常,但随后随机停止。这是为什么?

 public class Home extends AppCompatActivity {

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


    mPager = (ViewPager) findViewById(R.id.pager);
    mPagerAdapter = new ScreenSlidePager.ScreenSlidePagerAdapter(getSupportFragmentManager());
    mPager.setAdapter(mPagerAdapter);
}

private static final int NUM_PAGES = 5;

private ViewPager mPager;

private PagerAdapter mPagerAdapter;

@Override
public void onBackPressed() {
    if (mPager.getCurrentItem() == 0) {
        super.onBackPressed();
    }
    else {
        mPager.setCurrentItem(mPager.getCurrentItem() - 1);
    }
}
public class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
    public ScreenSlidePagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        return new ScreenSlidePageFragment();
    }

    @Override
    public int getCount() {
        return NUM_PAGES;
    }
}


public void ffwePage(View view) {
    Intent intent = new Intent(Home.this, FamilyFocusedWorkEnvironment.class);
    startActivity(intent);
}

public void esePage(View view) {
    Intent intent = new Intent(Home.this, EvaluateSoftwareEffectiveness.class);
    startActivity(intent);
}

public void impPage(View view) {
    Intent intent = new Intent(Home.this, ImprovingMissionPerformance.class);
    startActivity(intent);
}

public void dcoPage(View view) {
    Intent intent = new Intent(Home.this, DefensiveCyberspaceOperations.class);
    startActivity(intent);
}

public void stayHome(View view) {
    Intent intent = new Intent(Home.this, Home.class);
    startActivity(intent);
}
}

首先修改这行代码:

mPagerAdapter = new ScreenSlidePager.ScreenSlidePagerAdapter(getSupportFragmentManager());

对此:

mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager());

您似乎从另一个页面复制了您的适配器

更改您定义寻呼机的位置:

private ViewPager mPager;

在 onCreate 之上