繁体   English   中英

如何设置匹配的消息?

[英]How can I set a matching message?

我只是在构建一个简单的DICE应用。 但是我想添加一个额外的功能。 当两个数字都匹配时,用户将收到一条消息。 例如>>数字匹配。 请看我的代码 屏幕截图

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final ImageView leftDice = (ImageView)findViewById(R.id.image_leftDice);
        final ImageView rightDice = (ImageView) findViewById(R.id.image_rightDice);

        final int[] diceArray = {
                R.drawable.dice1,
                R.drawable.dice2,
                R.drawable.dice3,
                R.drawable.dice4,
                R.drawable.dice5,
                R.drawable.dice6
        };

        Button rollButton;
        rollButton = (Button) findViewById(R.id.rollButton);

        rollButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Random randomNumberGenerator = new Random();

                int number = randomNumberGenerator.nextInt(6);

                leftDice.setImageResource(diceArray[number]);
                number = randomNumberGenerator.nextInt(6);
                rightDice.setImageResource(diceArray[number]);
            }
        });
    }
}

您可以使用名为Toast东西,只需在检查两个骰子是否匹配后添加即可:

Toast.makeText(MainActivity.this, "Number Matched", Toast.LENGTH_SHORT).show();

这将在屏幕上添加一条消息一段时间。

您的消息( Toast )将如下所示:

因此, MainActivity的整个代码将是:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final ImageView leftDice = (ImageView)findViewById(R.id.image_leftDice);
        final ImageView rightDice = (ImageView) findViewById(R.id.image_rightDice);

        final int[] diceArray = {
                R.drawable.dice1,
                R.drawable.dice2,
                R.drawable.dice3,
                R.drawable.dice4,
                R.drawable.dice5,
                R.drawable.dice6
        };

        Button rollButton;
        rollButton = (Button) findViewById(R.id.rollButton);

        rollButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Random randomNumberGenerator = new Random();

                int numberForLeftDice = randomNumberGenerator.nextInt(6);
                int numberForRightDice = randomNumberGenerator.nextInt(6);

                leftDice.setImageResource(diceArray[numberForLeftDice]);
                rightDice.setImageResource(diceArray[numberForRightDice]);

                if (numberForLeftDice == numberForRightDice) {
                    Toast.makeText(MainActivity.this, "Number Matched", Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
}

在您的onClick函数中,您可以执行以下操作:

Random randomNumberGenerator = new Random();

int numberLeft = randomNumberGenerator.nextInt(6);
leftDice.setImageResource(diceArray[numberLeft]);

int numberRight = randomNumberGenerator.nextInt(6);
rightDice.setImageResource(diceArray[numberRight]);

if(numberLeft == numberRight){
    Toast.makeText(this, "Same number", Toast.LENGTH_SHORT).show();
}

您可以考虑使用AlertDialogToast

对于AlertDialog
用户可以单击“ 是”或“ 否”或其他任何选项(根据您的要求)

但是对于Toast
就像弹出的弹出消息一样,但是没有任何可点击的功能
它仅用于显示消息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM