Popup giriş hataları görüntülemek için?
Görüntü aşağıda gösterildiği gibi bir açılır pencere 3 ** tüm alanları doğrulama hatası olduğunu göstermek istiyorum:

Android bildiğim kadarıyla var drawables:
1) popup_inline_error.9.png

2) popup_inline_error_above.9.png

3) indicator_input_error.png

Kullanarak EditText sağ tarafı içinde kırmızı hata göstergesi görüntülemek mümkün duyuyorum:
Drawable err_indiactor = getResources().getDrawable(R.drawable.indicator_input_error);
mEdiText.setCompoundDrawablesWithIntrinsicBounds(null, null, err_indiactor, null);
Ayrıca, Özel bir Ekmek olması gerektiğini düşünüyorum ama bu konuda herhangi bir fikrim almıyorum gibi görünüyor ilk resim ama görüldüğü gibi hata mesajı görüntülemek istiyorum şimdi.
CEVAP
Önceki cevabı benim sorun için bir çözüm gibi ama farklı bir yaklaşım özel Drawable bir resim kullanmak yerine indicator_input_error varsayılan görüntü için çalıştık.
Varsayılan Drawable

Özel Drawable

Yani, sadece düzeni xml dosyamda 7 ** iki oluşturdum ve EditText Java kod Listener bazı uygulanır.
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:padding="20dip"
android:background="#222222">
<EditText android:layout_width="match_parent"
android:layout_height="wrap_content" android:hint="Username"
android:id="@ id/etUsername" android:singleLine="true"
android:imeActionLabel="Next"></EditText>
<EditText android:layout_width="match_parent"
android:inputType="textPassword"
android:layout_height="wrap_content" android:hint="Password"
android:id="@ id/etPassword" android:singleLine="true"
android:imeActionLabel="Next"></EditText>
</LinearLayout>
EditTextValidator.java
import java.util.regex.Pattern;
import android.app.Activity;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.KeyEvent;
import android.view.inputmethod.EditorInfo;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
public class EditTextValidator extends Activity {
private EditText mUsername, mPassword;
private Drawable error_indicator;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Setting custom drawable instead of red error indicator,
error_indicator = getResources().getDrawable(R.drawable.emo_im_yelling);
int left = 0;
int top = 0;
int right = error_indicator.getIntrinsicHeight();
int bottom = error_indicator.getIntrinsicWidth();
error_indicator.setBounds(new Rect(left, top, right, bottom));
mUsername = (EditText) findViewById(R.id.etUsername);
mPassword = (EditText) findViewById(R.id.etPassword);
// Called when user type in EditText
mUsername.addTextChangedListener(new InputValidator(mUsername));
mPassword.addTextChangedListener(new InputValidator(mPassword));
// Called when an action is performed on the EditText
mUsername.setOnEditorActionListener(new EmptyTextListener(mUsername));
mPassword.setOnEditorActionListener(new EmptyTextListener(mPassword));
}
private class InputValidator implements TextWatcher {
private EditText et;
private InputValidator(EditText editText) {
this.et = editText;
}
@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) {
switch (et.getId()) {
case R.id.etUsername: {
if (!Pattern.matches("^[a-z]{1,16}$", s)) {
et.setError("Oops! Username must have only a-z");
}
}
break;
case R.id.etPassword: {
if (!Pattern.matches("^[a-zA-Z]{1,16}$", s)) {
et.setError("Oops! Password must have only a-z and A-Z");
}
}
break;
}
}
}
}
private class EmptyTextListener implements OnEditorActionListener {
private EditText et;
public EmptyTextListener(EditText editText) {
this.et = editText;
}
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_NEXT) {
// Called when user press Next button on the soft keyboard
if (et.getText().toString().equals(""))
et.setError("Oops! empty.", error_indicator);
}
return false;
}
}
}
Şimdi böyle bir test var:
Doğrulamaları için EditText boş :
Sanırım kullanıcı tıklayın Username alan sonra Softkeybord açar ve eğer kullanıcı press Next anahtar kullanıcı olacak odaklı, Password alan ve Username alan boş kalır o zaman hata olur gösterildiği gibi verilen görüntüleri aşağıda:

Yanlış giriş doğrulamaları için
1) ben metin yazın vikaS Kullanıcı adı alanında, sonra da hata görüntüsü aşağıdaki gibi olacak :

2) Ben metin yazın Password1 parola alanında, sonra da hata görüntüsü aşağıdaki gibi olacak :

Not:
Burada kullanıcı anahtar kartı üzerinde EditText alanı boş ve Next tuşuna sola ama her durumda kullanabilirsiniz durumunda sadece özel drawable kullandım. Sadece setError() yöntem Drawable nesne sağlamanız gerekiyor.

Nasıl görüntülemek için PHP Hataları a...
Neden AuthorizeAttribute kimlik doÄŸrul...
Nasıl sadece uyarı ve hataları görüntü...
İçin karakter HTML görüntülemek için y...
Bu uygulama geliÅŸtiricileri Facebook G...