2011-12-23 4 views
0

У меня есть edittext в моем приложении, которое принимает только числа. По умолчанию установлено значение 0. Но когда я вхожу в некоторые номера, я хочу перезаписать начальный 0 слева. Теперь у меня возникла проблема с edittext. Например, когда я вставляю 1, я хочу, чтобы это как 1, а не 01. моего кода похож,Как перезаписать значение в edittext

value = (EditText)findViewById(R.id.value); 
    value.addTextChangedListener(new TextWatcher() { 
     public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) 
     { 
      if(arg0.length()==0) 
      { 
       value.setText("0"); 
       int i = value.getText().length(); 
       value.setSelection(i); 
      } 
     } 

     public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, 
       int arg3) { 
      // TODO Auto-generated method stub 
      } 

     public void afterTextChanged(Editable arg0) { 
      // TODO Auto-generated method stub 
     } 
    }); 

Как я могу добиться этого? или это возможно?

+0

ли ** 0 ** показали первоначально намек? Если это подсказка, установите свойство ** android: hint = "0" ** для EditText. – Ian

ответ

3

Вы можете установить android:hint в свой XML-файл.

Например,

<EditText 
android:id="@+id/value" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:hint="0"/> 
+0

благодарю вас. Это действительно помогло мне –

0

Вы можете изменить строку на пустой в вызове функции beforeTextChanged и разрешить onTextChanged как есть.

+0

спасибо вам дорого. Это действительно помогло мне –

0

Вместо использования value.setText ("0"); use value.setHint ("0");

+0

благодарю вас. Это действительно помогло мне –

0

Используйте метод setHint (int) для отображения 0 изначально. Таким образом, когда пользователь вводит что-то, он автоматически очищается, и вы можете получить текст по своему усмотрению.

+0

благодарю вас. Это действительно помогло мне –

2

Есть много вариантов, чтобы выполнить то, что вы ищете. Помимо уже упомянутых, я бы сказал, что стоит обратить внимание на атрибут EditText android:selectAllOnFocus="true". Это удобно для значения по умолчанию, и в то же время совершенно дружественное пользователю, так как изменение значения не требует каких-либо «обратных шагов».

+1

благодарю вас. Это действительно помогло мне –

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