Closed SarahKurek closed 3 years ago
When I delete a book and try to open the shelf where the book was deleted again the app crashes.
E/AndroidRuntime: FATAL EXCEPTION: main Process: de.bibbuddy, PID: 3639 android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0 at android.database.AbstractCursor.checkPosition(AbstractCursor.java:514) at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:138) at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:52) at de.bibbuddy.BookDao.findById(BookDao.java:96) at de.bibbuddy.BookDao.getAllBooksForShelf(BookDao.java:292) at de.bibbuddy.BookModel.getBookList(BookModel.java:80) at de.bibbuddy.BookFragment.onCreateView(BookFragment.java:67) at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2950) at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:515) at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282) at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2168) at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2094) at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1990) at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:223) at android.app.ActivityThread.main(ActivityThread.java:7656) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) I/Process: Sending signal. PID: 3639 SIG: 9
The app crashes when you click "ändern" when you have an empty selection in BookFragment.
E/AndroidRuntime: FATAL EXCEPTION: main Process: de.bibbuddy, PID: 9181 java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.get(ArrayList.java:437) at de.bibbuddy.BookFragment.handleChangeBookData(BookFragment.java:122) at de.bibbuddy.BookFragment.onOptionsItemSelected(BookFragment.java:94) at androidx.fragment.app.Fragment.performOptionsItemSelected(Fragment.java:3109) at androidx.fragment.app.FragmentManager.dispatchOptionsItemSelected(FragmentManager.java:3210) at androidx.fragment.app.FragmentController.dispatchOptionsItemSelected(FragmentController.java:416) at androidx.fragment.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:346) at androidx.appcompat.app.AppCompatActivity.onMenuItemSelected(AppCompatActivity.java:228) at androidx.appcompat.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:109) at androidx.appcompat.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:109) at androidx.appcompat.app.ToolbarActionBar$2.onMenuItemClick(ToolbarActionBar.java:65) at androidx.appcompat.widget.Toolbar$1.onMenuItemClick(Toolbar.java:207) at androidx.appcompat.widget.ActionMenuView$MenuBuilderCallback.onMenuItemSelected(ActionMenuView.java:779) at androidx.appcompat.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:834) at androidx.appcompat.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:158) at androidx.appcompat.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:985) at androidx.appcompat.view.menu.MenuPopup.onItemClick(MenuPopup.java:128) at android.widget.AdapterView.performItemClick(AdapterView.java:330) at android.widget.AbsListView.performItemClick(AbsListView.java:1187) at android.widget.AbsListView$PerformClick.run(AbsListView.java:3179) at android.widget.AbsListView$3.run(AbsListView.java:4097) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:223) at android.app.ActivityThread.main(ActivityThread.java:7656) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) I/Process: Sending signal. PID: 9181 SIG: 9
Please adjust the menu in the BookFragment and BookNotesView depending on the user selection. Have a look at the LibraryFragment onPrepareOptionsMenu(Menu menu) function.
Description Implemented deleting books and notes. When element is selected by long click, it can be deleted using the button in the menu.
Implemented changing the book data of an existing book. Therefore the existing BookFormFragment was adapted. When a book is selected by long click, it's data can be changed using the button in the menu.
Affects BookFormFragment, BookNotesView, BookFragment and the corresponding Models and DAOs.
Notes for Reviewer Please review & comment/approve.