Java 来自android按钮返回的Gettext“&引用;
我正在尝试使用4个带数组的按钮创建一个选择题测验。我无法从按钮文本中获取变量 我的按钮Java 来自android按钮返回的Gettext“&引用;,java,android,eclipse,Java,Android,Eclipse,我正在尝试使用4个带数组的按钮创建一个选择题测验。我无法从按钮文本中获取变量 我的按钮text:buttonA:Obama,buttonB:Lincoln,buttonC:Washington,buttonD:Bush 正确答案是奥巴马(buttonA) 当我将答案行上的代码更改为answer=“Obama”(注释行),它可以工作。但是,当我从按钮文本更改为gettext()时,它不起作用 我在gettext()中检查了answer变量,它返回“” 请告知,谢谢 这是密码 package com
text:buttonA:Obama,buttonB:Lincoln,buttonC:Washington,buttonD:Bush
正确答案是奥巴马(buttonA)
当我将答案行上的代码更改为answer=“Obama”代码>(注释行),它可以工作。但是,当我从按钮文本
更改为gettext()
时,它不起作用
我在gettext()
中检查了answer变量,它返回“”
请告知,谢谢
这是密码
package com.trivia;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MenuWho extends Activity {
private String keyanswer ,answer;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layoutwho);
Button buttons[] = new Button[4];
buttons[0] = (Button)findViewById(R.id.buttonA);
buttons[1] = (Button)findViewById(R.id.buttonB);
buttons[2] = (Button)findViewById(R.id.buttonC);
buttons[3] = (Button)findViewById(R.id.buttonD);
keyanswer = "Obama";
answer = "";
}
public void cekanswer (View view) {
Button selectedbutton = (Button) view;
switch (selectedbutton.getId())
{
case R.id.buttonA:
//answer = "Obama";
answer = selectedbutton.getText().toString();
break;
case R.id.buttonB:
answer = (String) selectedbutton.getText();
break;
case R.id.buttonC:
answer = (String) selectedbutton.getText();
break;
case R.id.buttonD:
answer = (String) selectedbutton.getText();
break;
}
//cek answer
if (answer == keyanswer)
{
Toast.makeText(this,"Correct !", Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(this,"Wrong !", Toast.LENGTH_LONG).show();
}
}
}
用户answer.equals(keyanswer)
Equals
检查字符串的数据,=
仅检查引用是否相同。Useranswer.Equals(keyarse)
Equals
检查字符串的数据,=
仅检查引用是否相同。Useranswer.Equals(keyarse)
Equals
检查字符串的数据,=
仅检查引用是否相同。Useranswer.Equals(keyarse)
Equals
检查字符串的数据,=
仅检查引用是否相同。对于Java中的字符串,使用=
仅查看引用是否相同。必须使用方法.equals()
查看字符串的实际数据是否相同
这是另一篇关于这个主题的文章
还有Java文档
因此,对于您的答案,将if(answer==keyarse)
行更改为if(answer.equals(keyarse)){//do work}
,使用=
只查看引用是否相同。必须使用方法.equals()
查看字符串的实际数据是否相同
if (answer == keyanswer)
这是另一篇关于这个主题的文章
还有Java文档
因此,对于您的答案,将if(answer==keyarse)
行更改为if(answer.equals(keyarse)){//do work}
,使用=
只查看引用是否相同。必须使用方法.equals()
查看字符串的实际数据是否相同
if (answer == keyanswer)
这是另一篇关于这个主题的文章
还有Java文档
因此,对于您的答案,将if(answer==keyarse)
行更改为if(answer.equals(keyarse)){//do work}
,使用=
只查看引用是否相同。必须使用方法.equals()
查看字符串的实际数据是否相同
if (answer == keyanswer)
这是另一篇关于这个主题的文章
还有Java文档
因此,对于您的答案,将行if(answer==keyarse)
更改为if(answer.equals(keyarse)){//do work}
if (answer == keyanswer)
这是比较两个字符串的错误编程。你需要用这个
if (answer.equals(keyanswer))
或
这是比较两个字符串的错误编程。你需要用这个
if (answer.equals(keyanswer))
或
这是比较两个字符串的错误编程。你需要用这个
if (answer.equals(keyanswer))
或
这是比较两个字符串的错误编程。你需要用这个
if (answer.equals(keyanswer))
或
没有人回答你的问题。getText()也有同样的问题。它只返回一个空字符串“”。没有人回答您的问题。getText()也有同样的问题。它只返回一个空字符串“”。没有人回答您的问题。getText()也有同样的问题。它只返回一个空字符串“”。没有人回答您的问题。getText()也有同样的问题。它只返回一个空字符串“”。