Java 如何在开始时使用0获得android计算器的显示?
我正在开发一个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
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);
}