import java.io.ByteArrayOutputStream
-// Declare the class constants.
+// Define the class constants.
private const val DATABASE_ID = "database_id"
private const val FAVORITE_ICON_BYTE_ARRAY = "favorite_icon_byte_array"
dialogBuilder.setTitle(R.string.edit_folder)
// Set the view. The parent view is `null` because it will be assigned by the alert dialog.
- dialogBuilder.setView(requireActivity().layoutInflater.inflate(R.layout.edit_bookmark_folder_databaseview_dialog, null))
+ dialogBuilder.setView(layoutInflater.inflate(R.layout.edit_bookmark_folder_databaseview_dialog, null))
// Set the cancel button listener. Using `null` as the listener closes the dialog without doing anything else.
dialogBuilder.setNegativeButton(R.string.cancel, null)
}
})
- // Update the save button if the parent folder changes.
- parentFolderSpinner.onItemSelectedListener = object: OnItemSelectedListener {
- override fun onItemSelected(parent: AdapterView<*>?, view: View, position: Int, id: Long) {
- // Update the save button.
- updateSaveButton(bookmarksDatabaseHelper, currentFolderName, currentParentFolderDatabaseId, currentDisplayOrder)
- }
+ // Wait to set the on item selected listener until the spinner has been inflated. Otherwise the dialog will crash on restart.
+ parentFolderSpinner.post {
+ // Update the save button if the parent folder changes.
+ parentFolderSpinner.onItemSelectedListener = object: OnItemSelectedListener {
+ override fun onItemSelected(parent: AdapterView<*>, view: View, position: Int, id: Long) {
+ // Update the save button.
+ updateSaveButton(bookmarksDatabaseHelper, currentFolderName, currentParentFolderDatabaseId, currentDisplayOrder)
+ }
- override fun onNothingSelected(parent: AdapterView<*>?) {
- // Do nothing.
+ override fun onNothingSelected(parent: AdapterView<*>) {
+ // Do nothing.
+ }
}
}