Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当我点击最后一个片段时,我有一个错误_Android_Android Fragments_Android Studio - Fatal编程技术网

Android 当我点击最后一个片段时,我有一个错误

Android 当我点击最后一个片段时,我有一个错误,android,android-fragments,android-studio,Android,Android Fragments,Android Studio,我无法访问应用程序中的最后一个片段(案例7)。我一直在调试它,我认为这是一个逻辑错误,但我很难修复它。角色 public void onSectionAttached(int number) { String[] stringArray = getResources().getStringArray(R.array.section_titles); if (number >= 1) { mTitle = stringArray[number-1];

我无法访问应用程序中的最后一个片段(案例7)。我一直在调试它,我认为这是一个逻辑错误,但我很难修复它。角色

public void onSectionAttached(int number) {
    String[] stringArray = getResources().getStringArray(R.array.section_titles);
    if (number >= 1) {
        mTitle = stringArray[number-1];
    }
}
下面是我的代码部分,它来自android studio中的默认导航抽屉:

 @Override
public void onNavigationDrawerItemSelected(int position) {
    // update the main content by replacing fragments
    FragmentManager fragmentManager = getSupportFragmentManager();
    switch(position+1){
        case 1:
            fragmentManager.beginTransaction()
                    .replace(R.id.container, onClickReserveSeat.newInstance(position + 1)).addToBackStack("tag")
                    .commit();
            break;
        case 2:
            fragmentManager.beginTransaction()
                    .replace(R.id.container, onClickCancelSeat.newInstance(position + 1)).addToBackStack("tag")
                    .commit();
            break;
        case 3:
            fragmentManager.beginTransaction()
                    .replace(R.id.container, onClickMyTrips.newInstance(position + 1)).addToBackStack("tag")
                    .commit();
            break;
        case 4:
            fragmentManager.beginTransaction()
                    .replace(R.id.container, onClickUserAccount.newInstance(position + 1)).addToBackStack("tag")
                    .commit();
            break;
        case 5:
            fragmentManager.beginTransaction()
                    .replace(R.id.container, onClickLogout.newInstance(position + 1)).addToBackStack("tag")
                    .commit();
            break;
        case 6:
            fragmentManager.beginTransaction()
                    .replace(R.id.container, onClickHelp.newInstance(position + 1)).addToBackStack("tag")
                    .commit();
            break;
        case 7:
            fragmentManager.beginTransaction()
                    .replace(R.id.container, onClickAboutUs.newInstance(position + 1)).addToBackStack("tag")
                    .commit();
            break;
    }
}

public void onSectionAttached(int number) {
    String[] stringArray = getResources().getStringArray(R.array.section_titles);
    if (number >= 1) {
        mTitle = stringArray[number-1];
    }
}
onClickAboutUs(最后一个片段类/方法)

}

编辑:(logcat)

你能试试这个吗

      int pos = position+1;

      switch(pos){
      case 1:
            fragmentManager.beginTransaction()
                    .replace(R.id.container, onClickReserveSeat.newInstance(position + 1)).addToBackStack("tag")
                    .commit();
            break;

... 
}

什么错误。。。粘贴logcat..你能发布任何东西的代码吗。newInstance(位置+1)以及调用onSessionAttached方法的部分检查了另一个片段的标题是否正确反映?对于片段7,onSessionAttachedMethod bcoz中出现错误,数字可能是8检查在那里打印日志并检查?在哪里调用OnSessionAttached方法?我想这里面也有错误,在编辑过的帖子里也是一样。onSectionAttached中的逻辑,并在最后一个片段类中调用OnAtach方法。
   java.lang.ArrayIndexOutOfBoundsException: length=6; index=6
        at com.oop.admin.reserbus.UserAccount.onSectionAttached(UserAccount.java:120)
        at com.oop.admin.reserbus.onClickAboutUs.onAttach(onClickAboutUs.java:37)
        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:907)
        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1138)
        at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:740)
        at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1501)
        at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:458)
        at android.os.Handler.handleCallback(Handler.java:725)
        at android.os.Handler.dispatchMessage(Handler.java:92)
        at android.os.Looper.loop(Looper.java:176)
        at android.app.ActivityThread.main(ActivityThread.java:5317)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
        at dalvik.system.NativeStart.main(Native Method)
      int pos = position+1;

      switch(pos){
      case 1:
            fragmentManager.beginTransaction()
                    .replace(R.id.container, onClickReserveSeat.newInstance(position + 1)).addToBackStack("tag")
                    .commit();
            break;

... 
}