【问题标题】:requiring editView boxes be completed before moving to another activity要求在移动到另一个活动之前完成编辑视图框
【发布时间】:2013-09-23 06:40:17
【问题描述】:

这是我目前正在查看的 AddDebt.java 部分:

public void ButtonOnClick(View v) {
        Intent intent = new Intent(this, MainActivity.class);

        EditText debtors = (EditText) findViewById(R.id.editDebtor);
        String debtor = debtors.getText().toString();

        EditText myEdit = (EditText) findViewById(R.id.editBalance);
        String myEditValue = myEdit.getText().toString();
        double loanAmount = Double.parseDouble(myEditValue);

        EditText myEdit2 = (EditText) findViewById(R.id.editRate);
        String myEditValue2 = myEdit2.getText().toString();
        double interestRate = Double.parseDouble(myEditValue2);

        EditText myEdit3 = (EditText) findViewById(R.id.editTerm);
        String myEditValue3 = myEdit3.getText().toString();
        Double loanPeriod = Double.parseDouble(myEditValue3);

        double r = interestRate/1200;
        double r1 = Math.pow(r+1,loanPeriod);

        double editMnthlypmt = (double) ((r+(r/(r1-1))) * loanAmount);
        DecimalFormat df = new DecimalFormat("#.##");      
        editMnthlypmt = Double.valueOf(df.format(editMnthlypmt));

        TextView textMnthlypmt = (TextView)findViewById(R.id.textMntlypmt);

        switch (v.getId()) {

        case R.id.calculate:
            textMnthlypmt.setText("" + String.valueOf(editMnthlypmt));
        break;
        case R.id.addDebt:
         if(debtors.getText().length() == 0){
               Toast.makeText(getApplicationContext(), "Please enter debtors value", Toast.LENGTH_SHORT).show();
               debtors.requestFocus();
             }else if(myEdit.getText().length() == 0){
               Toast.makeText(getApplicationContext(), "Please enter myedit value", Toast.LENGTH_SHORT).show();
               myEdit.requestFocus();
             }
             else
             {
            //Transferring data to MainActivity
            intent.putExtra("debtor",debtor);
            intent.putExtra("loanAmount",loanAmount);
            intent.putExtra("editMnthlypmt",editMnthlypmt);

            //Next moves back to MainActivity
            startActivity(intent);
            }   
        break;
    }
}

when "case R.id.addDebt:" is being chosen, I want to ensure that editDebtor, editBalance, editRate, and editTerm are all completed.如果没有,我希望它把焦点放在最不完整的盒子上。如果完成,我希望它切换到我的意图。

任何建议。

【问题讨论】:

  • 在输入的意义上完成了吗?如果输入与否意味着检查空条件,如 if(myEditValue.trim().length>0)

标签: android android-intent


【解决方案1】:

试试这个,

 case R.id.addDebt:
 if(debtors.getText().length() == 0){
   Toast.makeText(Activityname, "Please enter debtors value", Toast.LENGTH_SHORT).show();
   debtors.requestFocus();
 }else if(myEdit.getText().length() == 0){
   Toast.makeText(Activityname, "Please enter myedit value", Toast.LENGTH_SHORT).show();
   myEdit.requestFocus();
 }else if().......

 }else{
 //Add your Intent here
 }

【讨论】:

  • 我用我能想到的最接近你的脚本编辑了主脚本,它给出了一个致命错误。错误出现在第 67 行,这是紧跟在添加 loanAmount 之后的行。我猜是因为它无法将 NULL 解析为双精度数。这里有什么建议吗?
猜你喜欢
  • 2012-07-17
  • 1970-01-01
  • 1970-01-01
  • 2012-07-25
  • 2018-02-04
  • 2013-03-25
  • 1970-01-01
  • 2020-11-10
  • 1970-01-01
相关资源
最近更新 更多