Android: EditText maxLength viene ignorato

Ho un problema in cui questo EditText ignora completamente la mia maxLength.

<EditText android:id="@+id/dialog_input" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10dp" android:inputType="numberPassword" android:maxLength="4" android:singleLine="true" android:textColorHint="@color/primary_lighter" android:textColor="@color/accent_harder" android:hint="****" /> 

la lunghezza viene ignorata

  • Crittografia compatibile tra Android e C #
  • Implementazione di 47degree android-swipelistview per sparare android ListViewItem
  • OnItemClickListener non triggersto su Android GridView
  • Chiamata startActivity () dall'esterno di un'attività?
  • Uccidi l'intento sullo schizzo
  • Spinner non applica l'attributo dropDownSelector
  • Posso immettere quanti personaggi voglio.

    Questa è una window di dialogo e non riesco a trovare il text EditText da findViewById perché è disponibile in modo programmato quando premo OK.

     public void showNewQuestionDialog() { final AlertDialog.Builder builder = new AlertDialog.Builder( this ); LayoutInflater inflater = this.getLayoutInflater(); builder.setView( inflater.inflate( R.layout.dialog_question_new, null ) ) .setPositiveButton( R.string.settings_ok, new DialogInterface.OnClickListener() { @Override public void onClick( DialogInterface thisDialog, int id ) { Dialog dialog2 = Dialog.class.cast( thisDialog ); EditText input = ( EditText ) dialog2.findViewById( R.id.dialog_input ); // Other code here.. } } ); ..... 

    L'ho risolto. Il problema era questa linea:

      android:singleLine="true" 

    Se si verifica mai lo stesso problema, provare a rimuovere questa row.

  • Come creare uno background con image, angoli arrotondati senza bordi
  • Animazione Android: hide / visualizzare il menu
  • Caricamento di file multipart HttpUrlConnection con progressbar
  • Scala EditText con selezione
  • Messaggio all'utente muro di facebook non funzionante quando l'applicazione di Facebook è installata sul dispositivo / emulatore
  • Per trasferire file da pc a dispositivo Android via usb
  • 3 Solutions collect form web for “Android: EditText maxLength viene ignorato”

    Vorrei assicurarsi che i tuoi attributi XML non stiano eseguendo un'altra.

    Sembra che questi due potrebbero essere il problema

      android:maxLength="4" android:singleLine="true" 

    Lo vedo già risolto! OK, la questione era …

      android:singleLine="true" 

    Ma bisogna controllare due volte per assicurarsi di non poter creare una nuova linea!

    Per risolvere questo problema, è necessario rimuovere la linea sottostante nel layout

     android:singleLine="true" 

    Oltre a questo, puoi sempre gonfiare il text EditText in modo dinamico con la visualizzazione personalizzata come sotto e potrai registrare per il textwatcher in modalità di input.

     LayoutInflator mInflator = (LayoutInflater) context.getSystemService(Service.LAYOUT_INFLATER_SERVICE); View view = mInflator.inflate(R.layout.dialog_question_new, null); AlertDialog.Builder mBuilder = new AlertDialog.Builder(context, R.style.CustomDialogTheme); EditText input = ( EditText ) view.findViewById( R.id.dialog_input_question_new); mBuilder.setCustomTitle(view); mBuilder.setPositiveButton(... mBuilder.setPositiveButton(... 

    Potresti anche usare il LengthFilter sottovalutato:

     EditText editText = findViewById(R.id.edit_text); int length = 4; editText.setFilters(new android.text.InputFilter[] { new android.text.InputFilter.LengthFilter(length) }); 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.