Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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中,我的第一个游戏makeText无法运行_Java_Android_Android Studio - Fatal编程技术网

Java 在Android studio中,我的第一个游戏makeText无法运行

Java 在Android studio中,我的第一个游戏makeText无法运行,java,android,android-studio,Java,Android,Android Studio,我创建了我的第一个数学游戏,所有的工作都很好,但makeText没有工作。当我单击“回答”时,没有发生任何事情。请不要使用“干得好!”或“对不起,这是错误的” 我知道为什么这不起作用。既然你是Android新手,我也会给你一些提示 首先,您意外地为每个按钮定义了2个按钮对象。首先,将它们定义为活动顶部的成员变量: Button buttonObjectChoice1; Button buttonObjectChoice2; Button buttonObjectChoice3; 然后在onCr

我创建了我的第一个数学游戏,所有的工作都很好,但makeText没有工作。当我单击“回答”时,没有发生任何事情。请不要使用
“干得好!”
“对不起,这是错误的”


我知道为什么这不起作用。既然你是Android新手,我也会给你一些提示

首先,您意外地为每个按钮定义了2个按钮对象。首先,将它们定义为活动顶部的成员变量:

Button buttonObjectChoice1;
Button buttonObjectChoice2;
Button buttonObjectChoice3;
然后在onCreate()中将它们定义为局部变量:

您应该只将按钮作为成员变量或局部变量,而不是两者。要将它们仅保留为成员变量,请按以下方式设置它们的ID:

    buttonObjectChoice1 =(Button) findViewById(R.id.buttonChoice1);
    buttonObjectChoice2 =(Button) findViewById(R.id.buttonChoice2);
    buttonObjectChoice3 =(Button) findViewById(R.id.buttonChoice3);
当您注意到您的Toast没有被显示时,您的首要任务应该是检查您的OnClick()方法是否真正被调用。您可以通过在OnClick()的第一行上放置断点,或将log语句作为OnClick()的第一行来实现这一点。单击您的按钮,如果您的日志从未显示,您现在知道这是OnClick设置的问题,而不是祝酒

让您的活动实现
View.OnClickListener
不足以让
OnClick
方法正常工作。您还需要将此侦听器附加到您想要“侦听”的每个视图项。您可以在为每个按钮调用
findviewbyd()
后执行此操作:

    buttonObjectChoice1.setOnClickListener(this);
    buttonObjectChoice2.setOnClickListener(this);
    buttonObjectChoice3.setOnClickListener(this);

您传入
,因为您当前的活动是定义侦听器的活动。

欢迎使用Stack Overflow Bodin!请尽量用清晰的英语输入(即,不要说l33t),以最大限度地提高您回答问题的机会。您是否尝试过将问题提取到最少的代码来复制问题?谢谢您的编辑sugest。我在这里和编程方面都是新手,所以我不知道如何将问题提取到最小的代码量。非常感谢Kio,你太棒了!!!!现在收到消息“对不起,回答错误”,但每个答案都会弹出此消息。:/Android Studi说我的变量应答器给定的初始值设定项“0”是多余的。怎么了?我的变量answergiven或swith method?在
findViewById
之后,我为每个按钮放置
this
<代码>buttonObjectChoice1=(按钮)findViewById(R.id.buttonChoice1);buttonObjectChoice1.setOnClickListener(此选项);buttonObjectChoice2=(按钮)findViewById(R.id.buttonChoice2);buttonObjectChoice2.setOnClickListener(此选项);buttonObjectChoice3=(按钮)findViewById(R.id.buttonChoice3);buttonObjectChoice3.setOnClickListener(此选项)不客气!很高兴我能帮忙。我建议您在代码中放入一堆日志语句,并在整个代码中打印出重要变量的值。这将帮助你理解为什么你总是得到“抱歉的错误答案”。下面是一些关于在Android中创建日志语句的信息:如果你仍然无法解决这个问题,你应该打开一个新的堆栈溢出问题。你帮了我很多。我解决了问题,现在一切正常。当我定义
correctAnswer
时,问题出现在
onCreat
中,我将
int
放在它前面,当delete
int
时,所有工作正常:D再次感谢
    buttonObjectChoice1 =(Button) findViewById(R.id.buttonChoice1);
    buttonObjectChoice2 =(Button) findViewById(R.id.buttonChoice2);
    buttonObjectChoice3 =(Button) findViewById(R.id.buttonChoice3);
    buttonObjectChoice1.setOnClickListener(this);
    buttonObjectChoice2.setOnClickListener(this);
    buttonObjectChoice3.setOnClickListener(this);