android验证码 6个框,android中6个EditText输入验证码(仿支付宝支付输入密码框)...

下面是Activiy,UI部分是6个EditText,在此就不贴出:

/**

*

* @author lm

*

*/

public class IdentifyActivity extends Activity {

private EditText mEditTextOne, mEditTextTwo, mEditTextThree, mEditTextFour, mEditTextFive, mEditTextSix;

private static final String TAG = "miao";

boolean b = true;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main_layout);

initView();

}

public void initView() {

mEditTextOne = (EditText) findViewById(R.id.main_one);

mEditTextTwo = (EditText) findViewById(R.id.main_two);

mEditTextThree = (EditText) findViewById(R.id.main_three);

mEditTextFour = (EditText) findViewById(R.id.main_four);

mEditTextFive = (EditText) findViewById(R.id.main_five);

mEditTextSix = (EditText) findViewById(R.id.main_six);

int one = mEditTextOne.getText().toString().replace(" ", "").length();

int Two = mEditTextTwo.getText().toString().replace(" ", "").length();

int Three = mEditTextThree.getText().toString().replace(" ", "").length();

int Four = mEditTextFour.getText().toString().replace(" ", "").length();

int Five = mEditTextFive.getText().toString().replace(" ", "").length();

int Six = mEditTextSix.getText().toString().replace(" ", "").length();

if(one == 0 && Two == 0 && Three == 0 && Four == 0 && Five == 0 && Six == 0){

Log.i(TAG, "------空空空-----");

mEditTextOne.setFocusable(true);

mEditTextTwo.setFocusable(false);

mEditTextThree.setFocusable(false);

mEditTextFour.setFocusable(false);

mEditTextFive.setFocusable(false);

mEditTextSix.setFocusable(false);

}

mEditTextOne.addTextChangedListener(mTextWatcher);

mEditTextTwo.addTextChangedListener(mTextWatcher);

mEditTextThree.addTextChangedListener(mTextWatcher);

mEditTextFour.addTextChangedListener(mTextWatcher);

mEditTextFive.addTextChangedListener(mTextWatcher);

mEditTextSix.addTextChangedListener(mTextWatcher);

}

TextWatcher mTextWatcher = new TextWatcher() {

@Override

public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {

if(arg0.length()==1){

if(mEditTextOne.isFocusable()){

mEditTextTwo.setFocusable(true);

mEditTextTwo.setFocusableInTouchMode(true);

}else if(mEditTextTwo.isFocusable()){

mEditTextThree.setFocusable(true);

mEditTextThree.setFocusableInTouchMode(true);

}else if(mEditTextThree.isFocusable()){

mEditTextFour.setFocusable(true);

mEditTextFour.setFocusableInTouchMode(true);

}else if(mEditTextFour.isFocusable()){

mEditTextFive.setFocusable(true);

mEditTextFive.setFocusableInTouchMode(true);

}else if(mEditTextFive.isFocusable()){

mEditTextSix.setFocusable(true);

mEditTextSix.setFocusableInTouchMode(true);

}

}

}

@Override

public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {

}

@Override

public void afterTextChanged(Editable mEditable) {

if (mEditable.toString().length() == 1) {

if (mEditTextOne.isFocused()) {

mEditTextOne.setFocusable(false);

mEditTextTwo.requestFocus();

}else if (mEditTextTwo.isFocused()) {

mEditTextTwo.setFocusable(false);

mEditTextThree.requestFocus();

}else if(mEditTextThree.isFocused()){

mEditTextThree.setFocusable(false);

mEditTextFour.requestFocus();

}else if(mEditTextFour.isFocused()){

mEditTextFour.setFocusable(false);

mEditTextFive.requestFocus();

}else if(mEditTextFive.isFocused()){

mEditTextFive.setFocusable(false);

mEditTextSix.requestFocus();

}else if(mEditTextSix.isFocused()){

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);

imm.hideSoftInputFromWindow(mEditTextSix.getWindowToken(), 0);

getEditNumber();

}

}

}

};

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

if(keyCode == KeyEvent.KEYCODE_DEL) {

if(mEditTextSix.isFocused()){

if (!mEditTextSix.getText().toString().equals("")) {

mEditTextSix.getText().clear();

mEditTextSix.requestFocus();

b = false;

} else if (!b) {

mEditTextSix.clearFocus();

mEditTextSix.setFocusable(false);

mEditTextFive.setFocusableInTouchMode(true);

mEditTextFive.getText().clear();

mEditTextFive.requestFocus();

b = true;

} else {

mEditTextSix.getText().clear();

mEditTextSix.requestFocus();

b = false;

}

} else if (mEditTextFive.isFocused()) {

mEditTextFive.clearFocus();

mEditTextFive.setFocusable(false);

mEditTextFour.setFocusableInTouchMode(true);

mEditTextFour.getText().clear();

mEditTextFour.requestFocus();

} else if (mEditTextFour.isFocused()) {

mEditTextFour.clearFocus();

mEditTextFour.setFocusable(false);

mEditTextThree.setFocusableInTouchMode(true);

mEditTextThree.getText().clear();

mEditTextThree.requestFocus();

} else if (mEditTextThree.isFocused()) {

mEditTextThree.clearFocus();

mEditTextThree.setFocusable(false);

mEditTextTwo.setFocusableInTouchMode(true);

mEditTextTwo.getText().clear();

mEditTextTwo.requestFocus();

} else if (mEditTextTwo.isFocused()) {

mEditTextTwo.clearFocus();

mEditTextTwo.setFocusable(false);

mEditTextOne.setFocusableInTouchMode(true);

mEditTextOne.getText().clear();

mEditTextOne.requestFocus();

}

}

if(keyCode == KeyEvent.KEYCODE_BACK){

this.finish();

}

return false;

}

public String getEditNumber() {

String number = mEditTextOne.getText().toString();

number += mEditTextTwo.getText().toString();

number += mEditTextThree.getText().toString();

number += mEditTextFour.getText().toString();

number += mEditTextFive.getText().toString();

number += mEditTextSix.getText().toString();

Log.i(TAG, "-----number---"+number+"---------------number.length-----"+number.length());

return number;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值