Android 更改按钮颜色所有编辑文本字段是否已填充?
我的布局文件中有如下按钮和文本字段Android 更改按钮颜色所有编辑文本字段是否已填充?,android,button,Android,Button,我的布局文件中有如下按钮和文本字段 <EditText android:id="@+id/et_password" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textView4" android:layout_centerHorizontal="true"
<EditText
android:id="@+id/et_password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView4"
android:layout_centerHorizontal="true"
android:ems="10"
android:inputType="textPassword" />
<Button
android:id="@+id/btn_app_signup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/et_password"
android:layout_centerHorizontal="true"
android:layout_marginTop="63dp"
android:background="@drawable/button"
android:text="SIGN UP"
android:textColor="@color/white" />
如果我填充所有编辑文本字段填充更改按钮背景,我该怎么做?您只需使用
drawable
更改背景,如下所示:
btn_app_signup.setBackground(getResources().getDrawable(R.drawable.button_success));
检查文本时:
if(et_name.getText().toString().equals("") || et_email.getText().toString().equals("") || et_password.getText().toString().equals("")) {
Toast.makeText(SignupActivity.this, "All fields required", Toast.LENGTH_LONG).show();
}
希望有帮助。试试这个
private void registerAccount(String name, String email, String password) {
if(!TextUtils.isEmpty(name)&& !TextUtils.isEmpty(email) && !TextUtils.isEmpty(password)){
btn_app_signup.setBackground(ContextCompat.getDrawable(this,R.drawable.ic_android_black_24dp));// set here your backgournd to button
// save data in database
}else {
Toast.makeText(this, "All fields required", Toast.LENGTH_LONG).show();
}
}
编辑
et_password.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
if (!TextUtils.isEmpty(et_name.getText().toString()) && !TextUtils.isEmpty(et_email.getText().toString()) && !TextUtils.isEmpty(et_password.getText().toString())) {
btn_app_signup.setBackground(ContextCompat.getDrawable(MainActivity.this, R.drawable.ic_android_black_24dp));// set here your backgournd to button
}else {
btn_app_signup.setBackgroundResource(android.R.drawable.btn_default);
}
}
});
et_email.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
if (!TextUtils.isEmpty(et_name.getText().toString()) && !TextUtils.isEmpty(et_email.getText().toString()) && !TextUtils.isEmpty(et_password.getText().toString())) {
btn_app_signup.setBackground(ContextCompat.getDrawable(MainActivity.this, R.drawable.ic_android_black_24dp));// set here your backgournd to button
}else {
btn_app_signup.setBackgroundResource(android.R.drawable.btn_default);
}
}
});
et_name.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
if (!TextUtils.isEmpty(et_name.getText().toString()) && !TextUtils.isEmpty(et_email.getText().toString()) && !TextUtils.isEmpty(et_password.getText().toString())) {
btn_app_signup.setBackground(ContextCompat.getDrawable(MainActivity.this, R.drawable.ic_android_black_24dp));// set here your backgournd to button
}else {
btn_app_signup.setBackgroundResource(android.R.drawable.btn_default);
}
}
});
并使函数无效
private void valiadte(String name,String email,String password){
if(!TextUtils.isEmpty(name)&&!TextUtils.isEmpty(email)&&!TextUtils.isEmpty(password){
btn_app_signup.setBackground(ContextCompat.getDrawable(this,R.drawable.ic_android_black_24dp));
// set here your backgournd to button
}
}
我如何检查所有字段是否已填充如果我使用此方法,它将只使用我按下按钮您可以解释更多当您想要更改按钮背景@HemalHerathall编辑文本字段填充,我想改变背景是的,在html中是这样的,就像onchange方法,怎么能一次检查所有字段
et_name.addTextChangedListener(new TextWatcher(){
@Override
public void beforeTextChanged(CharSequence s,int start,int count,int after){
}
@Override
public void onTextChanged(CharSequence s,int start,int before,int count){
String name=et_name.getText().toString();
String email=et_email.getText().toString();
String password=et_password.getText().toString();
valiadte(name,email,password);
}
@Override
public void afterTextChanged(Editable s){
}
});
et_email.addTextChangedListener(new TextWatcher(){
@Override
public void beforeTextChanged(CharSequence s,int start,int count,int after){
}
@Override
public void onTextChanged(CharSequence s,int start,int before,int count){
String name=et_name.getText().toString();
String email=et_email.getText().toString();
String password=et_password.getText().toString();
valiadte(name,email,password);
}
@Override
public void afterTextChanged(Editable s){
}
});
et_password.addTextChangedListener(new TextWatcher(){
@Override
public void beforeTextChanged(CharSequence s,int start,int count,int after){
}
@Override
public void onTextChanged(CharSequence s,int start,int before,int count){
String name=et_name.getText().toString();
String email=et_email.getText().toString();
String password=et_password.getText().toString();
valiadte(name,email,password);
}
@Override
public void afterTextChanged(Editable s){
}
});
private void valiadte(String name,String email,String password){
if(!TextUtils.isEmpty(name)&&!TextUtils.isEmpty(email)&&!TextUtils.isEmpty(password){
btn_app_signup.setBackground(ContextCompat.getDrawable(this,R.drawable.ic_android_black_24dp));
// set here your backgournd to button
}
}