Java 如何提取多个EditText值并将其中的值相乘

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

我正在开发一个应用程序,我需要从2个edittext‘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);
        }
   });

您需要做的就是:

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();
}