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

标签 android android-layout android-edittext textview

我有这个应用程序,其中字段 1 是编辑文本字段 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());



    }

最佳答案

试试这个 你可以在你的编辑文本上使用 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");
                        }
        }
                 }
    });

关于android - 如何在 edittext 字段中更改文本后更新 textview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15729619/

相关文章:

android - 如何在 Android 中将两个按钮放在同一行

android - 删除 Android 中 EditText 中的蓝色光标指针

android - 一旦 onPause() 被调用,onStop() 总是被调用

android - 通知中的 Activity 顺序

android - 从 Python for Android 获取 root

android - 在水平 ScrollView 中的 ImageView 列表之间添加边框/分隔符

android - 信号 TabHost 以重新加载 View

java - 选择editText时如何隐藏部分布局

android - Android Studio 中的 float 提示标签在按下之前不显示

android - 关于使用 EditText 的建议