クリックすると乱数が得られる小さな乱数スピナーがあります。私は2つの問題を抱えています。1 つ目は、メイン アクティビティが読み込まれるときに、乱数スピナーをクリックせずに画面に乱数を表示することです。メインアクティビティで開かないようにするには、何を false に設定すればよいかわかりません。2 つ目の問題は、スピナーからオプションを選択しても、それがクリアされないことです。つまり、オプション D6 または D20 をクリックすると、最初に他のオプションを選択するまで、同じオプションを再度クリックすることはできません。基本的に、乱数が選択された後、選択はメモリから消去されません。乱数コードはこちら
public void onItemSelected(AdapterView<?> parent, View view, int pos,
long id) {
Random rand = new Random();
int roll = 0;
boolean firstRun = false;
// An item was selected.
if (!firstRun)
{
if (spinner1.getSelectedItemPosition()==0)
{
roll = rand.nextInt(6)+1;
}
else
{
roll = rand.nextInt(20)+1;
}
}
else
{ firstRun = false; }
// Put the result into a string.
String text = "You rolled a " + roll;
// Build a dialog box and with the result string and a single button
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(text).setCancelable(false)
.setPositiveButton("OK", new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id)
{
// do things when the user clicks ok.
}
});
AlertDialog alert = builder.create();
// Show the dialog box.
alert.show();
}