我是Android编程和Java (和英语:)的新手。当我自己学习的时候,有一些错误的东西。我做错什么了吗?我是程序计算器。TextView的默认值是0(我在strings.xml中设置了这个值)。MainActivity.java中有两种方法:
public void Click_c (View View){
TextView textview1 = (TextView) findViewById(R.id.textView1);
textview1.setText("0");
}
public void Click_1 (View View){
TextView textview1 = (TextView) findViewById(R.id.textView1);
if (textview1.getText().toString()=="0") {
textview1.setText("1");
} else {
textview1.setText(textview1.getText().toString()+"1");
}
}程序启动后,我按Click_1键,textview是01。但我只想要1,这是Click_C之后的工作。
程序启动
程序完成
程序启动
程序完成
发布于 2014-12-30 10:30:21
这是因为所有的时间都失败了,在if (textview1.getText().toString()=="0") {和进入其他条件。所以
你应该换衣服
if (textview1.getText().toString()=="0") {至
if (textview1.getText().toString().equals("0")) {用.equals()方法进行string比较
发布于 2014-12-30 10:34:03
您首先应该了解字符串到底是什么,所以 经历这件事
public void Click_1 (View View){
TextView textview1 = (TextView) findViewById(R.id.textView1);
if (textview1.getText().toString().equals("0")) {
textview1.setText("1");
} else {
textview1.setText(Integer.parseInt(textview1.getText().toString())+1);
}
}使用yourstring.equals(newstring);
发布于 2014-12-30 10:32:07
必须使用equals()方法检查字符串,如下所示:
if (textview1.getText().toString().equals("0")) {
textview1.setText("1");
} else {
textview1.setText(textview1.getText().toString()+"1");
}https://stackoverflow.com/questions/27703737
复制相似问题