Wie lege ich die minimale und maximale Zeichenbeschränkung für EditText in Android fest?Android

Forum für diejenigen, die für Android programmieren
Anonymous
 Wie lege ich die minimale und maximale Zeichenbeschränkung für EditText in Android fest?

Post by Anonymous »

Ich möchte den minimalen und maximalen Eingabewert für das EditText-Feld festlegen. Ich erstelle eine einfache Validierung für EditText; Es werden A-Z- und 0-9-Werte mit mindestens 5 und maximal 8 Zeichen angenommen.

Ich stelle das Maximum und andere Validierungen wie folgt ein:

Code: Select all

 
Aber die Mindestwertanforderung kann nicht festgelegt werden. Mein EditText-Feld befindet sich in einem Warndialog. Ich habe den folgenden Code ausprobiert, um das Problem zu lösen:

Code: Select all

private void openInboxDialog() {

LayoutInflater inflater = this.getLayoutInflater();
// declare dialog view
final View dialogView = inflater.inflate(R.layout.kirim_layout, null);

final EditText edittextKode = (EditText) dialogView.findViewById(R.id.edittextKode_Listing);
final EditText edittextalamat = (EditText) dialogView.findViewById(R.id.edittextAlamat);
edittextKode.setOnFocusChangeListener(new OnFocusChangeListener() {

@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub

if(edittextKode.getText().toString().length() > 0){
if(edittextKode.getText().toString().length() < 5)
{
edittextKode.setError("Error");
Toast.makeText(GPSActivity.this, "Kode listing value not be less than 5", Toast.LENGTH_SHORT).show();
edittextKode.requestFocus();

}
}
}
});
final AlertDialog.Builder builder = new AlertDialog.Builder(GPSActivity.this);
builder.setTitle("Kirim").setView(dialogView)
.setNeutralButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
gpsCoordinates = (TextView) findViewById(R.id.text_GPS_Coordinates);
kode = edittextKode.getText().toString();
alamat = edittextalamat.getText().toString();
catatan = edittextcatatan.getText().toString();
pengirim = edittextPengirim.getText().toString();
if (kode.length() > 0 && alamat.length() > 0
&& catatan.length() > 0 && pengirim.length() > 0) {
message = "Kode listing : " + kode + "\nAlamat : "
+ alamat + " \nCatatan : " + catatan + " \n Pengirim : " + pengirim
+ "\nKoordinat GPS : "
+ gpsCoordinates.getText().toString();
sendByGmail();
} else {
Toast.makeText(
getApplicationContext(),
"Please fill all three fields to send mail",
Toast.LENGTH_LONG).show();
}
}
});
builder.create();
builder.show();
}`
In diesem Warndialog habe ich zwei EditText-Felder. Ich möchte meine Validierung auf den ersten EditText anwenden. Ich habe den setOnFocusChangeListener aufgerufen, um seine Mindestlänge bei Fokusänderung zu überprüfen. Wenn die Länge weniger als 5 beträgt, wird eine Fokussierung angefordert, aber es wird immer noch das zweite EditText-Feld eingegeben.

Könnte mir bitte jemand helfen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post