2013-03-31 143 views
1

我有这个应用程序,其中字段1是edittext字段2是textfieldenter image description here如何在edittext字段中更改文本后更新textview

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

编辑:我试图setonfocuschanged但DIN工作

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

使用onFocusChangeListener添加是System.out.print'( “具有焦点=” + ARG1)'你'onFocusChange'方法 – mrres1

回答

1

试试这个 你可以youredittext

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"); 
         } 
     } 
       } 
    }); 
+0

没有它没有更新。我已经把代码放在EDIT – human

+0

@AhamBrahmaasmi那里如果那里有onFocuschange里面的条件?什么是v_k1 – Pragnani

+0

检查编辑现在 – human