如何在edittext字段中更改文本后更新textview

时间:2013-03-31 13:01:21

标签: android android-layout android-edittext textview

我有这个应用程序,字段1是edittext 字段2是文本字段enter image description here

我想根据在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());



    }

1 个答案:

答案 0 :(得分: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");
                        }
        }
                 }
    });