2015-09-25 6 views
0

Почему приложение всегда сбой при попытке изменить текст EditText? Я пробовал celc = (EditText) findViewById (R.id.cel); far = (EditText) findViewById (R.id.fa); Ran = (EditText) findViewById (R.id.ran); kelvin = (EditText) findViewById (R.id.kev);
celc.addTextChangedListener (новый TextWatcher() {Сбой приложения при настройке текста EditText

 @Override 
     public void onTextChanged(CharSequence s, int start, int before, int count) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void beforeTextChanged(CharSequence s, int start, int count, 
       int after) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void afterTextChanged(Editable s) { 
      // TODO Auto-generated method stub 
      String value = s.toString() ; 
      double c1 = Double.parseDouble(value) ; 
      double f1 = (32+((9.0/5)*c1)); 
      double r1 = f1+460 ; 
      double k1 = c1 + 273.0 ; 

      far.setText(f1+""); 
      Ran.setText((r1 + "")); 
      kelvin.setText(k1+""); 

     } 
    }); but it doesn't work. 
+5

Как щеколда мы должны знать, ни с кодом нет трассировки стека? Поэтому я пойду с «Гремлины сделали это». –

+0

Просьба представить [минимальный, полный и проверяемый пример] (http://stackoverflow.com/help/mcve), демонстрирующий вашу проблему. В этом случае отправьте [трассировку стека Java, связанную с вашим сбоем] (https://stackoverflow.com/questions/23353173/unappro-myapp-has-stopped-how-can-i-solve-this), а также код, указанный в трассировке стека. – CommonsWare

+0

введите ошибку logcat. –

ответ

6
  1. Объявите EditText в файле XML
  2. Найти EditText в деятельности
  3. Установите текст в EditText

И если вы проверяете документы для EditText, вы найдете метод setText(). Требуется строка String и TextView.BufferType. Например:

EditText editText =  (EditText)findViewById(R.id.edit_text); 
editText.setText("Google is your friend.", TextView.BufferType.EDITABLE); 

Или использовать +, то конкатенация Оператор:

ed = (EditText) findViewById (R.id.box); 
    int x = 10; 
    ed.setText(""+x); 

или

String.valueOf(int): 
ed.setText(String.valueOf(x)) 
0

Может быть, вы не связали свой объект вида с объектом Java

Вы сделали это с помощью метода findViewById

файл макета..:

<EditText ... android:id="@+id/edittext" /> 

Jav Кодекс: по определению класса:

private EditText myEditText; 

и метод OnCreate:

 edittext = (EditText) findViewById(R.id.editText); 

С наилучшими пожеланиями!

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