如何使用从一种方法到另一种方法的值?
How to use a value from one method to other?
所以我在 android 工作室开发 bmi
计算器 activity。我 运行 遇到了一个问题,我从 class 中定义的不同 TextView
的两种方法中得到了两个变量的值。那应该不是问题,但是一旦我在应用程序中切换到另一个 TextView
。第一个发送零值,这是问题所在,有人知道如何解决吗?谢谢 !
onCreate中的两个赋值方法:
inheight.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
height = Double.parseDouble(inheight.getText().toString());
if(KeyEvent.KEYCODE_DEL== keyCode)
{
if(inheight.getText().length() != 0)
inheight.setText(inheight.getText().subSequence(0,inheight.getText().length()-1));
}
return true;
}
});
inweight.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
weight = Integer.parseInt(inweight.getText().toString());
if(KeyEvent.KEYCODE_DEL == keyCode)
{
if(inweight.getText().length() != 0)
inweight.setText(inweight.getText().subSequence(0,inweight.getText().length()-1));
}
return true;
}
});
以及我尝试计算的计算方法
public void calculate()
{
if(height!=0 && weight !=0)
{
// do this
}
else
{
Toast.makeText(this, "Error: Values Cannot Be Zero!", Toast.LENGTH_LONG).show();
}
所以当我 运行 它总是显示 toast 消息:(。请帮助!
如 android documentation 所述,View.OnKeyListener 仅对硬件键盘有用,软件输入法(如 android 使用的)没有义务触发此听众.
因此,我不会使用 View.OnKeyListener 来获取您的值,而是尝试一种不同的方法(即在按下按钮后获取值,实施 View.OnClickListener )
此外,您确定只有第一个 TextView 为您提供零值,还是两者都有?
所以我在 android 工作室开发 bmi
计算器 activity。我 运行 遇到了一个问题,我从 class 中定义的不同 TextView
的两种方法中得到了两个变量的值。那应该不是问题,但是一旦我在应用程序中切换到另一个 TextView
。第一个发送零值,这是问题所在,有人知道如何解决吗?谢谢 !
onCreate中的两个赋值方法:
inheight.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
height = Double.parseDouble(inheight.getText().toString());
if(KeyEvent.KEYCODE_DEL== keyCode)
{
if(inheight.getText().length() != 0)
inheight.setText(inheight.getText().subSequence(0,inheight.getText().length()-1));
}
return true;
}
});
inweight.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
weight = Integer.parseInt(inweight.getText().toString());
if(KeyEvent.KEYCODE_DEL == keyCode)
{
if(inweight.getText().length() != 0)
inweight.setText(inweight.getText().subSequence(0,inweight.getText().length()-1));
}
return true;
}
});
以及我尝试计算的计算方法
public void calculate()
{
if(height!=0 && weight !=0)
{
// do this
}
else
{
Toast.makeText(this, "Error: Values Cannot Be Zero!", Toast.LENGTH_LONG).show();
}
所以当我 运行 它总是显示 toast 消息:(。请帮助!
如 android documentation 所述,View.OnKeyListener 仅对硬件键盘有用,软件输入法(如 android 使用的)没有义务触发此听众.
因此,我不会使用 View.OnKeyListener 来获取您的值,而是尝试一种不同的方法(即在按下按钮后获取值,实施 View.OnClickListener )
此外,您确定只有第一个 TextView 为您提供零值,还是两者都有?