こんにちは。
画面にダイアログを表示して分岐処理をしたい(ユーザーに分岐を選択させたい)のですが、下記のコードだと、ダイアログの選択を待たずに最後の行のprintln()が先に実行されてしまいます。(ダイアログは表示されている。)
Kotlin
1class MainActivity : AppCompatActivity() { 2 override fun onCreate(savedInstanceState: Bundle?) { 3 super.onCreate(savedInstanceState) 4 5 var bool = false 6 AlertDialog.Builder(this) 7 .setPositiveButton("yes") { dialogInterface, i -> 8 bool = true 9 } 10 .setNegativeButton("no") { dialogInterface, i -> 11 bool = false 12 } 13 .create() 14 .show() 15 println(bool) // どちらを選んでもfalseが先に表示されている 16}
下記のようなダイアログ内に処理を書く方法ではなく、あくまでダイアログは選択に使いたい、という状況です。
KotlinAlertDialog.Builder(this)
1.setPositiveButton("yes") { dialogInterface, i -> 2 bool = true 3 println(bool) 4} 5.setNegativeButton("no") { dialogInterface, i -> 6 bool = false 7 println(bool) 8}
ダイアログから値を取得はできないのでしょうか?調べても手掛かりがつかめず困っています。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/07/17 00:01