W e S D
0 1

eatwhatApp开发实战(十三)

  这次内容,我们就项目中添加商店名称的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);
  }

  这样就完成了这个功能,在文本框有内容输入时添加功能就会出现。

 

posted @ 2016-02-27 22:10  SD.Team  阅读(226)  评论(0编辑  收藏  举报