package com.stoutner.privacybrowser.dialogs
-import android.annotation.SuppressLint
import android.app.Dialog
import android.content.Context
import android.content.DialogInterface
}
}
- // `@SuppressLint("InflateParams")` removes the warning about using `null` as the parent view group when inflating the alert dialog.
- @SuppressLint("InflateParams")
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
// Get a handle for the arguments.
val arguments = requireArguments()
// Set the title.
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(layoutInflater.inflate(R.layout.edit_bookmark_folder_databaseview_dialog, null))
+ // Set the view.
+ dialogBuilder.setView(R.layout.edit_bookmark_folder_databaseview_dialog)
// 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.
+ }
}
}