最近项目有需要判断多个EditText是否正确,并且让出错的EditText获取焦点,变换背景色

判断是从上到下判断。有一个错误就停止判断。  这样稍微简单一些

 我这个就单纯判断手机号。。简单

效果

 

4、18更新:

  Drawable back = et1.getBackground();// 这个是获取到了 系统的那个白色背景图片 (这句在活动刚创建的时候获取。之后就可以一直用了,方便)

 

 et2.setBackgroundDrawable(back);// 修改错误时就可以修改回来。

 这样的话 只需要一个报错的背景图片,

  相对要2个图片好多了, 而且还是系统的默认图片

 

package com.zeng.edit;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class EditView_TesrActivity extends Activity {
	private EditText et1,et2,et3,et4;
	private Button btn_ok,btn_cancel;
	void initView(){
		et1 = (EditText) findViewById(R.id.editText1);
		et2 = (EditText) findViewById(R.id.editText2);
		et3 = (EditText) findViewById(R.id.editText3);
		et4 = (EditText) findViewById(R.id.editText4);
		btn_ok = (Button) findViewById(R.id.button1);
		btn_cancel = (Button) findViewById(R.id.button2);
	}
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        initView();
        editOnclick();
        btn_cancel.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
			finish();	
			}
		});
        //我这里是设置背景色,若是会作图的话。
        //可以给editText 弄2个图片,一个报错的,一个正常的。
        //每个开始的时候都加上,只要没有提出错的。editText都设置白的;
        btn_ok.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				String p1 = et1.getText().toString().trim();
				String p2 = et2.getText().toString().trim();
				String p3 = et3.getText().toString().trim();
				String p4 = et4.getText().toString().trim();
				if(v(p1) == false ){
					Toast.makeText(EditView_TesrActivity.this, "",Toast.LENGTH_SHORT);
					et1.setBackgroundColor(Color.RED);
					et1.requestFocus();
					//或许会有其他操作,这里设置2.3.4都为白色
					return;
				}
				if(v(p2) == false ){
					Toast.makeText(EditView_TesrActivity.this, "",Toast.LENGTH_SHORT);
					et2.setBackgroundColor(Color.RED);
					et2.requestFocus();
					et1.setBackgroundColor(Color.WHITE);
					//或许会有其他操作,这里设置1.3.4都为白色
					return;
				}
				if(v(p3) == false ){
					Toast.makeText(EditView_TesrActivity.this, "",Toast.LENGTH_SHORT);
					et3.setBackgroundColor(Color.RED);
					et3.requestFocus();
					et2.setBackgroundColor(Color.WHITE);
					//或许会有其他操作,这里设置1.2.4都为白色
					return;
				}
				if(v(p4) == false ){
					Toast.makeText(EditView_TesrActivity.this, "",Toast.LENGTH_SHORT);
					et4.setBackgroundColor(Color.RED);
					et4.requestFocus();
					et3.setBackgroundColor(Color.WHITE);
					return;
				}
			}
		});
    }
    private boolean v(String number){
    	if(number.length() ==11 || number.length() ==0){
    		return true;
    	}
    	return false;
    }
    private void editOnclick(){
    	et1.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				et1.setBackgroundColor(Color.WHITE);
			}
		});
    	et2.setOnClickListener(new OnClickListener() {
    		@Override
    		public void onClick(View v) {
    			et2.setBackgroundColor(Color.WHITE);
    		}
    	});
    	et3.setOnClickListener(new OnClickListener() {
    		@Override
    		public void onClick(View v) {
    			et3.setBackgroundColor(Color.WHITE);
    		}
    	});
    	et4.setOnClickListener(new OnClickListener() {
    		@Override
    		public void onClick(View v) {
    			et4.setBackgroundColor(Color.WHITE);
    		}
    	});
    }
}


 

 有需要的下载。哈哈 1分。

http://download.csdn.net/detail/zgf1991/4225060

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值