最近,在項目裏面需要實現一個功能,就是通過我填寫資料多少我的進度條發生改變(話不多說,下面來看代碼 )
主要代碼實現:
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就可以發生改變了,是不是很簡單,趕快應用的你們的項目中來吧。