Java 如何在开始时使用0获得android计算器的显示?

Java 如何在开始时使用0获得android计算器的显示?,java,android,calculator,Java,Android,Calculator,我正在开发一个android计算器应用程序。我正在使用TextView显示我的计算器 我的问题是“如何让我的计算器在开始时显示0,当按下任何数字时,0应替换为该数字?”。我正在使用Eclipse制作这个应用程序 这是我在TextView中用于文本的字符串: Name: txtdisplay Value: 0 <TextView android:id="@+id/txtDisplay" android:layout_width="match_parent" andr

我正在开发一个android计算器应用程序。我正在使用
TextView
显示我的计算器

我的问题是“如何让我的计算器在开始时显示
0
,当按下任何数字时,
0
应替换为该数字?”。我正在使用Eclipse制作这个应用程序

这是我在TextView中用于文本的字符串:

Name: txtdisplay
Value: 0
<TextView
    android:id="@+id/txtDisplay"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:maxLength="20"
    android:text="@string/txtdisplay"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textSize="24.5sp" />
TextView txtDisplay;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    txtDisplay = (TextView) findViewById(R.id.txtDisplay);

}

int clear_flag = 0;

public void shownum(String num) {
    if (clear_flag == 1) {
        txtDisplay.setText("");
        clear_flag = 0;
    }
    else if (txtDisplay.getText() == "0") {
        txtDisplay.setText("");
    }
    txtDisplay.setText(txtDisplay.getText() + num);
}
这是我的文本视图代码:

Name: txtdisplay
Value: 0
<TextView
    android:id="@+id/txtDisplay"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:maxLength="20"
    android:text="@string/txtdisplay"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textSize="24.5sp" />
TextView txtDisplay;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    txtDisplay = (TextView) findViewById(R.id.txtDisplay);

}

int clear_flag = 0;

public void shownum(String num) {
    if (clear_flag == 1) {
        txtDisplay.setText("");
        clear_flag = 0;
    }
    else if (txtDisplay.getText() == "0") {
        txtDisplay.setText("");
    }
    txtDisplay.setText(txtDisplay.getText() + num);
}
多谢各位

通过更改

<TextView
    android:id="@+id/txtDisplay"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:maxLength="20"
    android:text="@string/txtdisplay"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textSize="24.5sp" />

同时从
strings.xml
文件中删除不需要的字符串
txtdisplay
,解决了我的问题

因此,我对TextView的新代码是:

<TextView
    android:id="@+id/txtDisplay"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:maxLength="20"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textSize="24.5sp" />
TextView txtDisplay;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    txtDisplay = (TextView) findViewById(R.id.txtDisplay);

    txtDisplay.setText("0");

}

int clear_flag = 0;

public void shownum(String num) {
    if (clear_flag == 1) {
        txtDisplay.setText("");
        clear_flag = 0;
    }
    else if (txtDisplay.getText() == "0") {
        txtDisplay.setText("");
    }
    txtDisplay.setText(txtDisplay.getText() + num);
}

不要将
num
作为字符串处理。而是将其从文本转换为数字以供使用,然后将其格式化为
TextView
。问题解决了。
TextView txtDisplay;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    txtDisplay = (TextView) findViewById(R.id.txtDisplay);

    txtDisplay.setText("0");

}

int clear_flag = 0;

public void shownum(String num) {
    if (clear_flag == 1) {
        txtDisplay.setText("");
        clear_flag = 0;
    }
    else if (txtDisplay.getText() == "0") {
        txtDisplay.setText("");
    }
    txtDisplay.setText(txtDisplay.getText() + num);
}