如果文本字段为空,则禁用Android按钮
有人能告诉我如何禁用Android中的按钮,除非所有三个editText字段都已填充?我不确定在这里的什么地方包含条件语句,以及如何将其放置在按钮侦听器的上下文中 这是我的主要活动代码如果文本字段为空,则禁用Android按钮,android,layout,button,android-edittext,Android,Layout,Button,Android Edittext,有人能告诉我如何禁用Android中的按钮,除非所有三个editText字段都已填充?我不确定在这里的什么地方包含条件语句,以及如何将其放置在按钮侦听器的上下文中 这是我的主要活动代码 package com.amritayalur.mypowerschool; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.text.method.Sc
package com.amritayalur.mypowerschool;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.method.ScrollingMovementMethod;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MyPowerSchoolActivity extends Activity {
Button buttonSubmit;
TextView textViewTitle;
TextView textViewDesc;
EditText editTextURL, editTextUser, editTextPass;
String url = "";
String str;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
buttonSubmit = (Button) findViewById(R.id.buttonSubmit);
textViewTitle = (TextView) findViewById(R.id.textViewTitle);
textViewDesc = (TextView) findViewById(R.id.textViewDesc);
editTextURL = (EditText) findViewById(R.id.editTextURL);
editTextUser = (EditText) findViewById(R.id.editTextUser);
editTextPass = (EditText) findViewById(R.id.editTextPass);
//Start TextView
textViewTitle.setText("MyPowerSchool");
//button listener
buttonSubmit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent( MyPowerSchoolActivity.this, creds.class);
i.putExtra("pschoolurl", editTextURL.getText().toString());
i.putExtra("pschooluser", editTextUser.getText().toString());
i.putExtra("pschoolpass", editTextPass.getText().toString());
// get the text here
final int result = 1;
startActivityForResult(i, result);
};
});
}
}
那么:
//button listener
buttonSubmit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(!"".equals(editTextURL.getText().toString())
&& !"".equals(editTextUser.getText().toString())
&& !"".equals(editTextPass.getText().toString())){
Intent i = new Intent( MyPowerSchoolActivity.this, creds.class);
i.putExtra("pschoolurl", editTextURL.getText().toString());
i.putExtra("pschooluser", editTextUser.getText().toString());
i.putExtra("pschoolpass", editTextPass.getText().toString());
// get the text here
final int result = 1;
startActivityForResult(i, result);
}
};
});
如果要禁用此按钮:
buttonSubmit.setEnabled(false); //disable button;
非常简单,只需使用以下代码更新onClick()方法
@Override
public void onClick(View v)
{
if ( ( !editTextURL.getText().toString().equals("")) && ( !editTextUser.getText().toString().equals("")) && ( !editTextPass.getText().toString().equals("") ) )
{
// TODO Auto-generated method stub
Intent i = new Intent( MyPowerSchoolActivity.this, creds.class);
i.putExtra("pschoolurl", editTextURL.getText().toString());
i.putExtra("pschooluser", editTextUser.getText().toString());
i.putExtra("pschoolpass", editTextPass.getText().toString());
// get the text here
final int result = 1;
startActivityForResult(i, result);
}
};
上述“如果”条件不会禁用按钮,但仅当您的所有EditText都不为空时才允许使用该条件。您可以使用TextChangeListener
EditText ed = //your EditText
ed.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
//Check if 's' is empty
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
类型字符串的方法equal(String)未定义?我将其更改为equals,错误消失了;应该是“平等”吗?对不起,我弄错了。这是平等的