Java 如何提取多个EditText值并将其中的值相乘
我正在开发一个应用程序,我需要从2个edittext‘a’、‘b’中提取值并将其相乘,然后将结果发送给另一个edittext‘c’。可能吗?请帮帮我,我是android新手。提前谢谢 我尝试了以下方法:Java 如何提取多个EditText值并将其中的值相乘,java,android,Java,Android,我正在开发一个应用程序,我需要从2个edittext‘a’、‘b’中提取值并将其相乘,然后将结果发送给另一个edittext‘c’。可能吗?请帮帮我,我是android新手。提前谢谢 我尝试了以下方法: iname=(EditText)v.findViewById(R.id.editText2); iname.setText(inventorylistitems.getInventoryname()); iname.setEnabled(false); ico
iname=(EditText)v.findViewById(R.id.editText2);
iname.setText(inventorylistitems.getInventoryname());
iname.setEnabled(false);
icost=(EditText)v.findViewById(R.id.editText3);
icost.setText(String.valueOf(inventorylistitems.getCost()));
eb=(EditText)v.findViewById(R.id.editText1);
amt=(EditText)v.findViewById(R.id.editText4);
eb.setOnKeyListener(new OnKeyListener(){
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER || keyCode == KeyEvent.KEYCODE_DPAD_CENTER)){
int quan=Integer.parseInt(eb.getText().toString());
int amount=Integer.parseInt(amt.getText().toString());
int cbf=quan*amount;
amt.setText(String.valueOf(cbf));
icost.setEnabled(false);
amt.setEnabled(false);
}
});
您需要做的就是:
int one = Integer.parseInt(((EditText)findViewById(R.id.editText1)).getText().toString());
int two = Integer.parseInt(((EditText)findViewById(R.id.editText2)).getText().toString());
int three = one * two;
((EditText)findViewById(R.id.editText3)).setText(String.valueOf(three));//avoid ResourceNotFoundException
您可以在
try/catch
中的onKey()
中包装所有代码,但这将catch
在输入无效数字时显示异常并显示所示消息。如果需要,您也可以显示一个对话框,或者说在编辑文本中显示一条错误消息,记录它,无论您想做什么您面临的问题是什么?应用程序崩溃并抛出错误编号格式异常无效int“”你的代码有什么问题???我不知道代码中的问题在哪里…….它没有显示任何行,或者它的无效int((EditText)findviewById(R.id.editText3)).setText(三);此行将导致ResourceNotFoundException.setText重载以获取int-Parametert,这将查找一个字符串,该字符串的int值是您刚才作为ParameterCool提供的。我习惯设置text(“某个字符串”),因此我认为给出一个数字也是一样的。谢谢你@blackbelt。
try
{
int amount=Integer.parseInt(amt.getText().toString());
}
catch (NumberFormatException e)
{
Toast.makeText(YourClass.this, "You have entered invalid numbers", Toast.LENGTH_SHORT).show();
}