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;的文本来完成。
任何人都可以指导我如何实现这个目标吗?
答案 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
}};