我正在开发一个应用程序,我需要从2个edittexts'a','b'中提取值并将其相乘并将结果发送到另一个edittext'c'。有可能吗?请帮助我是android的新手。谢谢。
我试过如下:
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);
}
});
答案 0 :(得分:0)
您需要做的就是:
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
答案 1 :(得分:0)
try
{
int amount=Integer.parseInt(amt.getText().toString());
}
catch (NumberFormatException e)
{
Toast.makeText(YourClass.this, "You have entered invalid numbers", Toast.LENGTH_SHORT).show();
}
您可以将onKey()
中的所有代码都包含在try/catch
中,但如果输入的数字无效,则会catch
异常,并显示所显示的消息。如果您愿意,也可以显示对话框,或者说在EditText
中显示错误消息,记录它,无论您想做什么