I want to show error for a not focusable EditText. But I can not see the message. Only red icon. Somebody says I need to request the focus manually. This is how I did:
mStartDateEditText.requestFocus();
mStartDateEditText.setError("Message");
But it doesn't work.
In my case is similar i used a TextWatcher , e.g.:
username.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) {
}
#Override
public void afterTextChanged(Editable s) {
if(s.length()==0){
username.requestFocus();
username.setError("Please enter your username.");
}else{
username.setError(null);
}
}
});
Related
when typing edit text yoyo animation keep run how to keep typing show animation Once ?
text_send.addTextChangedListener(new TextWatcher() {
#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) {
YoYo.with(Techniques.SlideInUp)
.duration(300)
.repeat(0)
.
playOn(btn_send);
btn_send.setImageResource(R.drawable.ic_send);
when typing edit text yoyo animation keep run how to keep typing show animation Once ?
if you want to show it only once when the user starts typing then use a bool to do so
boolean is_show = false;
text_send.addTextChangedListener(new TextWatcher() {
#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) {
if(!is_show){
is_show = true;
YoYo.with(Techniques.SlideInUp)
.duration(300)
.repeat(0)
.
playOn(btn_send);
}
btn_send.setImageResource(R.drawable.ic_send);
or you asking something else?
I want to check if the value of EditText is greater than 5, I want the background of the edittext to become RED and it does so but stops when I delete the Text. Please help.
vibration.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) {
vibration.setBackgroundColor(Color.YELLOW);
}
#Override
public void afterTextChanged(Editable s) {
float numV = Float.parseFloat(vibration.getText().toString());
if(numV > 5){
vibration.setBackgroundColor(Color.RED);
}else{
return;
}
}
});
first check if the the value you are getting from EditText is not null.
if(!yourEditText.isempty)
{
//Do your work here
}
else{
//EditText is null}
I have two editTexts. I want to test every time if the text has been changed and if it's the case I want to change the text of the second one too.
Here is what I've done :
TextWatcher fieldValidatorTextWatcherElec = new TextWatcher() {
#Override
public void afterTextChanged(Editable s) {
if (filterLongEnough1()) {
et_electricite_€.setText(String.valueOf(new BigDecimal(Double.parseDouble(et_electricite.getText().toString())*tarif).setScale(2, RoundingMode.HALF_UP).doubleValue()));
}
}
#Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
#Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
private boolean filterLongEnough1() {
return et_electricite.getText().toString().trim().length() > 0;
}
};
et_electricite.addTextChangedListener(fieldValidatorTextWatcherElec);
TextWatcher fieldValidatorTextWatcherElecTarif = new TextWatcher() {
#Override
public void afterTextChanged(Editable s) {
if (filterLongEnough()) {
et_electricite.setText(String.valueOf(new BigDecimal(Double.parseDouble(et_electricite_€.getText().toString())/tarif).setScale(2, RoundingMode.HALF_UP).doubleValue()));
}
}
#Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
#Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
private boolean filterLongEnough() {
return et_electricite_€.getText().toString().trim().length() > 0;
}
};
et_electricite_€.addTextChangedListener(fieldValidatorTextWatcherElecTarif);
The problem is: When I click for the first time it changes; when I try to do the same thing with the second editText the application doesn't move and after that, it crashes. Here's the errorlog:
E/JavaBinder: !!! FAILED BINDER TRANSACTION !!! (parcel size = 2057252)
E/MQSEventManagerDelegate: reportJEEvent error happened:android.os.TransactionTooLargeException: data parcel size 2057252 bytes
you can add an edit text listener. Put you logic on afterTextChanged
EditText answer = new EditText(this);
//second, we create the TextWatcher
TextWatcher textWatcher = 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) {
//here, after we introduced something in the EditText we get the string from it
String answerString = answer.getText().toString();
//and now we make a Toast
//modify "yourActivity.this" with your activity name .this
Toast.makeText(yourActivity.this,"The string from EditText is: "+answerString,0).show();
}
};
//third, we must add the textWatcher to our EditText
answer.addTextChangedListener(textWatcher);
I want to use the cursor position to do something, so write this code:
input =(EditText)findViewById(R.id.Input_EditText);
input.addTextChangedListener(new TextWatcher()
{
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void afterTextChanged(Editable s)
{
int index = input.getSelectionEnd();
if(index==0)
{
//do nothing
}
else
{
Toast.makeText(MainActivity.this, Integer.toString(index), Toast.LENGTH_SHORT).show();
}
}
});
But if you press the newline key, then press the Delete key, then the program will crash
Will the problem is where?
I have a EditView called "text".
I have implemented textWatcher
text.addTextChangedListener(this);
Whenever i try to set EditView to some value in the TextWatcher,it is throwing Force close.
Here's the code:
public void beforeTextChanged(CharSequence s, int start, int count,int after)
{
}
public void onTextChanged(CharSequence s, int start, int before, int end)
{
//text.setText("");
}
public void afterTextChanged(Editable s)
{
//text.setText("");
}
My requirement is : Whenever the user type some value,the EditView has to set back to Null.
Please help me out.
You can do it this way:
public void beforeTextChanged(CharSequence s, int start, int count,int after) {
}
public void onTextChanged(CharSequence s, int start, int before, int end) {
}
public void afterTextChanged(Editable s){
s.clear();
}