我是Android Studio的新手,你能帮我吗?从下面的片段代码中,我尝试比较两个文本,其中一个来自按钮,单击test_ans按钮后,如果它们相同,将转到"真实"活动。但不幸的是,该应用程序已停止:(
package com.xxx.xxx.xxx;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class Main extends AppCompatActivity {
private String mAnswer = "xxx";
private Button mButtonAns;
static {
System.loadLibrary("native-lib");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mButtonAns = (Button)findViewById(R.id.test_ans);
mButtonAns.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
if (mButtonAns.getText() == mAnswer) {
Intent i = new Intent(Main.this, True.class);
startActivity(i);
//^go to true activity
} else {
//go to false activity
}
}
});
}
}
我尝试删除@Override公共无效的点击(视图(上,getText(( 变成红色,是那个 onClick 是问题吗? 请帮助;(
对于比较 2 个字符串,您需要使用等于而不是 ==
。 ==
将比较 2 String
的指针,equals
将比较 2 的值String
if (mAnswer.equals(mButtonAns.getText())) {
...
}
if (mButtonAns.getText().toString().equals(mAnswer)){
//do something
}
您还可以使用 matches
来比较字符串
if (mAnswer.matches(mButtonAns.getText())) {
...
}