0

我正在开发一个应用程序,我需要从 2 个编辑文本“a”、“b”中提取值并将其相乘并将结果发送到另一个编辑文本“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);
        }
   });
4

2 回答 2

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
于 2013-06-19T12:30:46.927 回答
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/catchcatch如果输入了无效数字并显示显示的消息,则会出现异常。如果您愿意,您也可以显示一个对话框,或者说在 中显示错误消息EditText,记录它,无论您想做什么

于 2013-06-19T12:48:17.307 回答