Activity.onPrepareDialog(id, dialog, args)

Activity.onPrepareDialogにも、Bundle(args)の引数が渡る。

Activity  |  Android Developers

onPrepareDialogは表示の度に呼ばれるので、Buttonが既に押されている回数(これまでのDialog表示回数)を数えていくことができる。
(最初は0から始まる。)

Buttonが押されるたびに、count1やcount2をshowDialogに渡してから、インクリメントする。

onPrepareDialogで、Bundleからcount1, count2を取り出して、Toast表示。(count1はc1, count2はc2としている。)

一応、onCreateDialogでもcount1, count2をsetMessageで出しておくが。(count1はc1, count2はc2としている。)

button1を押す。

onCreateDialogでc1は0
onCreateDialogでc1は0

onCreateDialogでc1は0。

onPrepareDialogでもc1は0
onPrepareDialogでもc1は0

onPrepareDialogでもc1は0。

button2を押したときでも、

c2もonCreateDialogで0
c2もonCreateDialogで0

c2もonCreateDialogで0。

c2もonPrepareDialogで0
c2もonPrepareDialogで0

onPrepareDialogで0。

button1をもう1回押すと、

c1が1になっている。
c1が1になっている。

c1が1になっている。

button2だと、

c2が1になっている。
c2が1になっている。

c2が1になっている。

Sample/android/Activity/onPrepareDialog_id_dialog_args/src/Activity at master · bg1bgst333/Sample · GitHub