这次内容,我们就项目中添加商店名称的EditText进行修改,让添加按钮随着edittext的内容而改变。
上代码,首先是xml文件上对两个控件的修改:
<RelativeLayout
android:id="@+id/et_relative"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/addshop_et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
android:hint="店名"/>
<TextView
android:id="@+id/add_shop_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:focusable="true"
android:onClick="addShop"
android:textSize="18sp"
android:layout_marginRight="5dip"
android:layout_marginTop="5dip"
android:text="@string/add_shop_btn_text"
android:visibility="gone"/>
</RelativeLayout>
接下来定义,并初始化对应控件:
private TextView add_shop_text;
// 初始化控件 add_text
add_shop_text = (TextView) findViewById(R.id.add_shop_text);
// 初始化控件addshop_EditText
addshop_et = (EditText) findViewById(R.id.addshop_et);
//edittext设置监听
addshop_et.addTextChangedListener(new TextChanged());
设置edittext的修改文本内容监听addTextChangedListener();
class TextChanged implements TextWatcher{
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
}
}
在afterTextChanged(Editable s)方法中写对应逻辑:
if(s != null && !"".equals(s.toString())){
add_shop_text.setVisibility(View.VISIBLE);
}else {
add_shop_text.setVisibility(View.INVISIBLE);
}
这样就完成了这个功能,在文本框有内容输入时添加功能就会出现。