2012-02-16 3 views
1

Я хотел бы ограничить строку предпочтений до 20 символов ... есть ли способ сделать это? Я имею в виду, что пользователь может ввести только 20 символов.есть ли способ указать максимальную длину предпочтения?

+0

да ограничить количество символов в обработчике кликов – L7ColWinters

+0

Как вы создаете/определяете настройки? PreferenceFragment? Являются ли предпочтения, определенные в коде, или XML? –

+0

предпочтения XML-файл – ycomp

ответ

3

Для EditText вы можете установить максимальную длину в файле макета с использованием android:maxLength="20"

0

@MisterSquonk правильно о том, как справиться с этим в пользовательском интерфейсе. Вы также должны сохранить его как строку символов при сохранении ваших предпочтений.

+0

Это только на моей странице настроек ... Android автоматически отображает настройки и позволяет пользователю редактировать их там – ycomp

+0

Я не думаю, что вы можете изменить его тогда, но вы всегда можете получить первые 20 букв в ваш код и сохраните предпочтение в коде как только первые 20 букв. Таким образом, когда пользователь возвращается к предпочтению, они могут видеть только первые 20 букв сохраненного предпочтения. – zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

0

Если предпочтение, которое вы задаете, это EditTextPreference, вы можете установить его атрибуты следующим образом.

class MyEditTextPreference extends EditTextPreference { 
    @Override 
    protected void onBindView(View view) { 
     super.onBindView(view); 

     TextView summary = (TextView)view.findViewById(android.R.id.summary); 
     if (summary != null) { 
      summary.setSingleLine(); 
      summary.setEllipsize(TextUtils.TruncateAt.MARQUEE); 
     } 
    } 

Но я предполагаю, что другое предпочтение предоставляет тот же onBindView, что и для вас, чтобы переопределить.

Смежные вопросы