绑定' TextView'到' EditText'的Text属性 - Android

时间:2017-01-20 09:01:55

标签: android xml android-layout binding

noobieDeveloper

我有一个EditText和TextView,如图所示

<LinearLayout
        android:gravity="center"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.2">
        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/editLength"
            android:hint="LENGTH"
            android:layout_gravity="center_horizontal|center_vertical"
            android:background="@android:color/transparent"
            android:textSize="40dp"
            android:textAlignment="center"
            android:textColor="#ffffff"
            android:textColorHint="#ffffff" />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="40dp"
            android:visibility="invisible"
            android:textColor="#ffffff"
            android:text="min"/>
    </LinearLayout>

我想要实现的是当我编辑&#39; editLength&#39;控制我希望TextView可见。

我不希望它与胶水代码(Activity.java)有关。 我想这可以通过将文本框的visibility属性绑定到&#39; EditText&#39;的文本来完成。

任何人都可以指导我如何实现这个目标吗?

1 个答案:

答案 0 :(得分:1)

您应该使用 TextWatcher 。它用于在用户输入数据时监视EditText内容。它允许您在EditText上输入时跟踪每个字符。

示例

         EditText inputObj = (EditText)findViewById(R.id.your_id);
         TextView   outputObj = (TextView)findViewById(R.id.your_id2);
         inputObj .addTextChangedListener(watch);

        }
 // End Oncreate

       TextWatcher watch = new TextWatcher(){

        @Override
        public void afterTextChanged(Editable arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
                int arg3) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onTextChanged(CharSequence s, int a, int b, int c) {
            // TODO Auto-generated method stub

            // Add code here //VISIBLE//GONE
        }};

阅读 How to check if an EditText was changed or not