通过EditText填写同时进度条发生改变

来源:互联网 发布:银行大劫案 知乎 编辑:程序博客网 时间:2024/05/17 20:24

最近,在项目里面需要实现一个功能,就是通过我填写资料多少我的进度条发生改变(话不多说,下面来看代码 )

主要代码实现:

package com.quincy.changeeditetext;


import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
import android.widget.ProgressBar;


public class MainActivity extends Activity {


private int progress = 0;
private ProgressBar pb;
private EditText one;
private EditText two;
private EditText three;
private EditText fore;
private EditText five;
private boolean flag1 = true;
private boolean flag2 = true;
private boolean flag3 = true;
private boolean flag4 = true;
private boolean flag5 = true;
点击打开链接点击打开链接

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
one = (EditText) findViewById(R.id.one);
two = (EditText) findViewById(R.id.two);
three = (EditText) findViewById(R.id.three);
fore = (EditText) findViewById(R.id.fore);
five = (EditText) findViewById(R.id.five);
// 为EditText绑定监听器
one.addTextChangedListener(new textChange(flag1));点击打开链接
two.addTextChangedListener(new textChange(flag2));
three.addTextChangedListener(new textChange(flag3));
fore.addTextChangedListener(new textChange(flag4));
five.addTextChangedListener(new textChange(flag5));
pb = (ProgressBar) findViewById(R.id.pb);
}


class textChange implements TextWatcher {
private boolean flag;
public textChange(boolean flag) {
this.flag = flag;
}
@Override
public void afterTextChanged(Editable s) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s.length() > 0 && flag) {
progress += 20;
flag = false;
}
if (s.length() == 0) {
flag = true;
progress -= 20;
}
pb.setProgress(progress);
}
}
}

这样就可以通过edittext的填写内容我的progressbar就可以发生改变了,是不是很简单,赶快应用的你们的项目中来吧。



1 0
原创粉丝点击