Что предлагает EF, это отношение «один ко многим».
Одна учетная запись может иметь много продуктов, то есть каждый продукт имеет Account_Id
. Если вы хотите, чтобы многие из многих (и создать промежуточную таблицу), следует работать
class Product
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Account> Accounts { get; set; }
}
class Account
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Product> Products { get; set; }
}
Вы забыли добавить раздутый вид в диалог.
class CustomDialog {
companion object {
fun create(context: Context, content: String) {
context as Activity
val inflater = context.layoutInflater
val view = inflater.inflate(R.layout.dialog_info, null)
val infoDialogBuilder = AlertDialog.Builder(context)
infoDialogBuilder.setView(view)
val infoDialog = infoDialogBuilder.create()
view.dialog_content.text = content
view.dialog_okButton.setOnClickListener {
println("CLICKED")
infoDialog.dismiss()
}
infoDialog.setContentView(view)
infoDialog.show()
}
}
Это пропущенная строка:
infoDialogBuilder.setView(view)
Проблема возникает из-за того, что вы не придаете ей какого-либо стиля.
Use infoDialog.setView(view)
И при создании диалогового окна укажите стиль темы материала
val infoDialog = AlertDialog.Builder(ContextThemeWrapper(context,android.R.style.ThemeOverlay_Material_Dialog)).create()
и, в конце концов,
infoDialog.window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
infoDialog.show()
Остальная часть вашего кода в порядке.