Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android Studio中的切换按钮文本值_Java_Button_Android Studio - Fatal编程技术网

Java Android Studio中的切换按钮文本值

Java Android Studio中的切换按钮文本值,java,button,android-studio,Java,Button,Android Studio,大家好,我的社区 我决定开始学习如何在Android Studio中制作Android应用程序,作为第一个项目,我认为制作一个简单的计算游戏会很有趣 首先,它生成一个随机和,例如5+5。在和下面有4个按钮,我想在上面生成正确答案和3个错误答案。玩家按下带有正确或错误答案的按钮,将再次生成总和和答案 // Generate wrong answers and convert int wronganswer1 = (answ1) + 2; String wronganswer

大家好,我的社区

我决定开始学习如何在Android Studio中制作Android应用程序,作为第一个项目,我认为制作一个简单的计算游戏会很有趣

首先,它生成一个随机和,例如5+5。在和下面有4个按钮,我想在上面生成正确答案和3个错误答案。玩家按下带有正确或错误答案的按钮,将再次生成总和和答案

    // Generate wrong answers and convert
    int wronganswer1 = (answ1) + 2;
    String wronganswer1string = Integer.toString(wronganswer1);
    int wronganswer2 = (answ1) - 2;
    String wronganswer2string = Integer.toString(wronganswer2);
    int wronganswer3 = (answ1) + 3;
    String wronganswer3string = Integer.toString(wronganswer3);

    //Add Text to the buttons
    Button ansb1 = (Button)findViewById(R.id.answerbutton1);
    ansb1.setText(answer);

    Button ansb2 = (Button)findViewById(R.id.answerbutton2);
    ansb2.setText(wronganswer1string);

    Button ansb3 = (Button)findViewById(R.id.answerbutton3);
    ansb3.setText(wronganswer2string);

    Button ansb4 = (Button)findViewById(R.id.answerbutton4);
    ansb4.setText(wronganswer3string);

这将用一个正确答案和三个错误答案填充按钮上的文本。问题在于,正确答案始终是顶部的按钮


我的问题是如何在每次生成新的和时切换按钮的值。所以正确的答案并不总是在同一个按钮上。

你应该在按钮上设置一个随机的按钮,这样字符串就会截取计算,这样就好像(正确答案)是“转到按钮”,错误答案是“转到按钮”

使用数组保存你的答案

String[] ans = new String[4];

int wronganswer1 = (answ1) + 2;
int wronganswer2 = (answ1) - 2;
int wronganswer3 = (answ1) + 3;

ans[0] = Integer.toString(answ1);
ans[1] = Integer.toString(wronganswer1);
ans[2] = Integer.toString(wronganswer2);
ans[3] = Integer.toString(wronganswer3);
将您的
按钮
引用保存到
列表

List<Button> btns = new ArrayList<Button>(4);

btns.add((Button)findViewById(R.id.answerbutton1));
btns.add((Button)findViewById(R.id.answerbutton2));
btns.add((Button)findViewById(R.id.answerbutton3));
btns.add((Button)findViewById(R.id.answerbutton4));
只需迭代
列表
,即可设置答案

for (int i = 0; i < 4; i++) {
    btns.get(i).setText(ans[i]);
}
for(int i=0;i<4;i++){
btns.get(i).setText(ans[i]);
}

好吧,我想这不是一个特定于android的问题:)我脑海中的一个解决方案是生成一个从0到3的随机数,然后使用
开关
语句选择正确答案的位置,然后将其余答案分配给按钮left@TheDonger很乐意帮忙:)嘿,我想知道在这段代码切换了特定按钮之后,是否仍然可以对其调用onclick()。您对所有四个按钮的按钮处理程序可能是相同的。它可以通过使用
开关(view.getId())
来区分实际按钮。
for (int i = 0; i < 4; i++) {
    btns.get(i).setText(ans[i]);
}