【如何在Android Studio中对包含数值的EditText字段执行基本计算】知识为进步之母,而进步又为富强之源泉。这篇文章主要讲述如何在Android Studio中对包含数值的EditText字段执行基本计算相关的知识,希望能为你提供帮助。
我是android Studio和一般编程的新手,但想创建一个简单的应用程序,根据输入的数字执行计算。这个想法是有4个EditText
字段支持十进制数字,其中只有3个字段中的3个需要输入才能使计算起作用。输入4个字段中的3个后,我的应用程序将检测4个字段中的哪个具有空值,并继续输入其他3个输入以输出正确的数字。当按下“Calculate”Button
时,我想让TextView
字段显示最终的数字。
仅使用一个EditText
,TextView
和Button
执行简单计算就可以了,但是当我添加更多代码时似乎无法使空字段检测工作。
感谢您提供的任何输入!
编辑:
为了澄清,我的简单计算将是:
editText * editText2 = editText3 * editText4
实质上,用户只需要提供4个值中的3个,并且将计算空值。
例如:
editText = 2
editText2 = 4
editText3 = null
editText4 = 1
应用程序将确定未提供
editText3
,因此,尝试使用上述公式计算其值。在此示例中,editText3
的值将计算为8,并在用户点击Calculate textView
后显示在button
字段中。我在Vero Gorena的建议之后使用的代码是(虽然我仍然在编译时遇到问题!):
public class MainActivity extends AppCompatActivity {
EditText editText1;
EditText editText2;
EditText editText3;
EditText editText4;
TextView textView;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView=findViewById(R.id.textView);
editText1=findViewById(R.id.editText);
editText2=findViewById(R.id.editText2);
editText3=findViewById(R.id.editText3);
editText4=findViewById(R.id.editText4);
}// Detects whether a field is null
public String getTheNumber(View view){
if(editText1.getText().length()>
0){Toast.makeText(this,"1 Has data",Toast.LENGTH_LONG).show();
}
if(editText2.getText().length()>
0){Toast.makeText(this,"2 Has data",Toast.LENGTH_LONG).show();
}
if(editText3.getText().length()>
0){Toast.makeText(this,"3 Has data",Toast.LENGTH_LONG).show();
}
if(editText4.getText().length()>
0){Toast.makeText(this,"4 Has data",Toast.LENGTH_LONG).show();
}return null;
}// Calculates and displays the result
private void calculateResult() throws NumberFormatException {// Calculates the result
int result = editText1 * editText2 = editText3 * editText4;
// Displays the result
textView.setText(result.toString());
// Displays result to 2 decimal places
textView.setText(String.format("%1.2f", result));
}}
编辑2:
刚刚意识到我的公式需要分解为4种情况:
If editText = null, then result = editText3 * editText4 / editText2
If editText2 = null, then result = editText3 * editText4 / editText
If editText3 = null, then result = editText * editText2 / editText4
If editText4 = null, then result = editText * editText2 / editText3
答案这段代码可以帮助你,因为它检测到哪个
EditText
有一个数字而不是使用Toast.makeText
,你可以使用自己的代码。函数getTheNumber已经考虑返回一个数据,在这种情况下是一个String
。public class MainActivity extends AppCompatActivity {
EditText editText1;
EditText editText2;
EditText editText3;
EditText editText4;
TextView textView;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView=findViewById(R.id.textView_atXML);
editText1=findViewById(R.id.editText1_atXML);
editText2=findViewById(R.id.editText2_atXML);
editText3=findViewById(R.id.editText3_atXML);
editText4=findViewById(R.id.editText4_atXML);
}
public String getTheNumber(View view){
if(editText1.getText().length()>
0){Toast.makeText(this,"1 Has data",Toast.LENGTH_LONG).show();
}
if(editText2.getText().length()>
0){Toast.makeText(this,"2 Has data",Toast.LENGTH_LONG).show();
}
if(editText3.getText().length()>
0){Toast.makeText(this,"3 Has data",Toast.LENGTH_LONG).show();
}
if(editText4.getText().length()>
0){Toast.makeText(this,"4 Has data",Toast.LENGTH_LONG).show();
}return null;
}
}
推荐阅读
- 如何在Android Studio中配置Git可执行文件的路径()
- 为什么我在Android Studio中使用教程应用程序获得“不支持的Gradle版本”()
- 现在,所有风格都必须属于命名风味维度Android Studio NDK
- 当我转到“设置”时,Android Studio会冻结
- 更新android studio后Android资源编译失败
- 无法解析配置'(app:debugCompileClasspath的所有依赖项)
- Android Studio(需要407代理身份验证)
- Kotlin Android Studio - 从newsapi加载缩略图
- 如何通过快捷方式在Android Studio中自动生成try catch代码块()