如何在Android编程中获得TextView的默认值?

时间:2014-12-30 10:28:50

标签: android textview default

我是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之后的工作。

程序启动

  1. 我点击Click_C

  2. 点击Click_1

  3. TextView为1没有问题

  4. 程序完成

    程序启动

    1. 点击Click_1

    2. Textview为01问题在这里。

    3. 程序完成

4 个答案:

答案 0 :(得分:2)

这是因为所有时间都在if (textview1.getText().toString()=="0") {失败并转到其他条件。那么

你应该改变

    if (textview1.getText().toString()=="0") {

    if (textview1.getText().toString().equals("0")) {

用于.equals()比较的string方法

答案 1 :(得分:1)

你应该首先了解字符串究竟字符串是什么Go through This

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);

答案 2 :(得分:0)

你必须使用equals()方法检查字符串,如下所示:

if (textview1.getText().toString().equals("0")) {
        textview1.setText("1");
    } else {
        textview1.setText(textview1.getText().toString()+"1");
    }

答案 3 :(得分: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");
    }
}

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);
    }
}