массив TextView ;)

Ответить
Irrumator
Сообщения: 25
Зарегистрирован: 08 окт 2014, 16:39

массив TextView ;)

Сообщение Irrumator » 27 окт 2014, 17:48

Вобщем, такая задача...
Имеется массив из over 100+ TextViews .О.О.
Текст в них представляет собой какое то число от 0 до 5, это не важно, главное, что все их значения - числа.
Нам нужно сложить все эти числа и вывести результат в другой TextView.
Написал шикарное решение, но оно не работает, по мне неизвестной причине.
Надеюсь хотя бы на объяснение, почему код не робит.

Код: Выделить всё

public class MainActivity extends Activity {
	final String LOG_TAG = "myLohs";
	TextView  tv1, tv2, tv3...tv100, tvResult;
        Button bntResult;
	TextView[] tvs1 = {tv1, tv2...tv100}; // ну тут понятненько да

****Тут мы находим объекты, идет код задания текста в TextViews, онклики и прочее.
И вот при нажатии на кнопку BtnResult я прописал вот что:

int sum = 0;
	              for (int i=0; i < tvs1.length; i++) {
	                  sum = sum + Integer.parseInt(tvs1[i].getText().toString());
	              }
	      tvResult.setText(Integer.toString(sum));
И ведь не работает же! Падает приложение и ругается на строку sum = sum + Integer.parseInt(tvs1.getText().toString());

10-27 22:43:16.835: E/AndroidRuntime(32743): java.lang.NullPointerException

Что не нравится этой бездушной, жестокой машине?

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: массив TextView ;)

Сообщение Foenix » 27 окт 2014, 18:13

не находятся твои объекты, ссылка в подписи.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Irrumator
Сообщения: 25
Зарегистрирован: 08 окт 2014, 16:39

Re: массив TextView ;)

Сообщение Irrumator » 27 окт 2014, 18:43

Точно! Массив твшек мало того, что не находился, а он даже не был создан =)
проблему решил таким образом:

Код: Выделить всё


public class MainActivity extends Activity { 
    TextView  tv1, tv2, tv3...tv100, tvResult; 
        Button bntResult; 
TextView[] tvs1 = {tv1, tv2...tv100}; // убрал этот массив текствивов ннннафиг
 
****Тут мы находим объекты, идет код задания текста в TextViews, онклики и прочее. 
И вот при нажатии на кнопку BtnResult я прописал вот что: 
 
int sum = 0;
String[] tvs1 = new String[] {tv1.getText().toString(), tv2.getText().toString()...tv100.getText().toString()};
for (int i=0; i < tvs1.length; i++) {
                     sum = sum + Integer.parseInt(tvs1[i].getText().toString());//это нам тоже не нужно =)
	            	  if (tvs1[i].equals("")) {tvs1[i] = "0";
	            	  sum = sum + Integer.parseInt(tvs1[i]);}
	            	  else
	                  sum = sum + Integer.parseInt(tvs1[i]);
	              }
	      tvResult.setText(Integer.toString(sum)); 
то есть в массив взял не твшки, а ихние стринги.
...и это работает.

Фух...очередная ступень создания приложения позади)
В итоге, вместо потенциальных нескольких тысяч строчищ, имеем код из нескольких десятков строчушечек) Ня

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: массив TextView ;)

Сообщение Foenix » 27 окт 2014, 19:35

не показывай никому, что ты написал..
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Irrumator
Сообщения: 25
Зарегистрирован: 08 окт 2014, 16:39

Re: массив TextView ;)

Сообщение Irrumator » 28 окт 2014, 03:56

Здрасьте, все должны знать этот секрет!

А что не так в моем коде?
Ну, что не обязательно было в стрингу преобразовывать

Код: Выделить всё

tvResult.setText(Integer.toString(sum));
это ладно, на свежую голову увидел. Вчера же опять засиделся допоздна с этим кодом.

А неужели есть ещё чтото более страшное, чего я не знаю?
Фенечка, не тяните кота за хвост.

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: массив TextView ;)

Сообщение KamiSempai » 29 окт 2014, 12:13

Не пойму, он тролит или всерьез?
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Irrumator
Сообщения: 25
Зарегистрирован: 08 окт 2014, 16:39

Re: массив TextView ;)

Сообщение Irrumator » 31 окт 2014, 14:16

KamiSempai писал(а):Не пойму, он тролит или всерьез?
А вы о чём конкретно?

Ответить