1

我有这个应用程序,其中字段 1 是 edittext字段 2 是 textfield在此处输入图像描述

我想根据在 edittext 字段中输入的数据将日期添加到 textview 中。那是在edittext字段中输入数据之后,当我移动到下一个edittext字段时,必须更新第一个edittext字段的textview。我知道添加 textchangedlistener 但如果它是解决方案我应该如何实现它。

编辑:我试过 setonfocuschanged 但它工作正常

k1_e.setOnFocusChangeListener(new View.OnFocusChangeListener() {

        @Override
        public void onFocusChange(View arg0, boolean arg1) {
            // TODO Auto-generated method stub
            if((v_k1>=5.63)&&(v_k1<=11.25)){
                k1_m.setText("mm");
            }else if((v_k1>=30)&&(v_k1<=60)){
                k1_m.setText("D");
            }

        }
    });
    k2_e.setOnFocusChangeListener(new OnFocusChangeListener() {

        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            // TODO Auto-generated method stub
            if((v_k2>=5.63)&&(v_k2<=11.25)){
                k2_m.setText("mm");
            }else if((v_k2>=30)&&(v_k1<=60)){
                k2_m.setText("D");
            }
        }
    });

编辑2: 这里有详细信息

dr=Float.parseFloat(dr_e.getText().toString());
    k1=Float.parseFloat(k1_e.getText().toString());
    k2=Float.parseFloat(k2_e.getText().toString());
    al=Float.parseFloat(al_e.getText().toString());
    al_const=Float.parseFloat(alconst_e.getText().toString());

    v_k1=Float.valueOf(k1);
    v_k2=Float.valueOf(k2);

编辑 3: 我将数据放入 edittext 字段使用

if(dr_e.getText().toString().length()==0|k1_e.getText().toString().length()==0|k2_e.getText().toString().length()==0|al_e.getText().toString().length()==0|alconst_e.getText().toString().length()==0){
        flag=1;
    }else{

    dr=Float.parseFloat(dr_e.getText().toString());
    al=Float.parseFloat(al_e.getText().toString());
    al_const=Float.parseFloat(alconst_e.getText().toString());



    }
4

1 回答 1

1

试试这个,你可以在 youredittext 上使用 onFocusChangeListener

  k1_e.setOnFocusChangeListener(new View.OnFocusChangeListener() {

        public void onFocusChange(View arg0, boolean arg1) {
                       String data=k1_e.getText().toString().trim();
             if(data.length!=0)
              {
                      k1=Float.parseFloat(data);
                       v_k1=Float.valueOf(k1);
             if((v_k2>=5.63)&&(v_k2<=11.25)){
                                  k2_m.setText("mm");
                                }else if((v_k2>=30)&&(v_k1<=60)){
                           k2_m.setText("D");
                        }
        }
                 }
    });
于 2013-03-31T13:07:34.330 回答