Не удается обновить TextView из другого действия - PullRequest
1 голос
/ 27 июня 2011

У меня есть действие с TextView, которое необходимо обновить после второго действия.Я могу передать данные текстового представления во 2-е действие, но когда я пытаюсь обновить это TextView во 2-м действии, происходит сбой.Мой код:

1-е действие (где TextView определен в моем xml):

Intent intent = new Intent(1stactivity.this, 2ndactivity.class); 
intent.putExtra("homescore_value", ((TextView)findViewById(R.id.score_home)).getText());
startActivity(intent);

// code snippet

Затем в моем 2-м действии:

Bundle bundle = getIntent().getExtras();
hometext = bundle.getString("homescore_value"); // this works and displays the correct String from 1st activity, 

, но происходит сбой, когдаЯ пытаюсь выдвинуть как TextView:

// other code snipped
int homescore = 0;
String Home_nickname = "HOME ";

TextView homestext = (TextView) bundle.get("homescore_value");
hometext.setText(Home_nickname +": "+homescore   );

Пожалуйста, помогите.

Ответы [ 4 ]

3 голосов
/ 27 июня 2011

Вы пытаетесь получить строку в виде TextView (вы устанавливаете строку в намерении с первого действия).

1 голос
/ 27 июня 2011

Вы пытаетесь разыграть String до TextView. Сбой кода эквивалентен:

String text = bundle.get("homescore_value"); //this is ok
TextView textView = (TextView)text; //this is bad

Вы должны сделать вместо:

String text = bundle.get("homescore_value");
TextView textView = (TextView)findViewById(R.id.yourTextViewId);
textView.setText(text);
0 голосов
/ 23 января 2012

Что-то, что решило часть этой проблемы для меня, это установив переменные получения String в null, например:

public String param1new = null;
public String param2new= null; 

Моя проблема заключается в том, что я пытаюсь установить цвета фона на несколько TextViews, и в данный момент устанавливается только первый.

0 голосов
/ 27 июня 2011

Эта строка здесь:

intent.putExtra("homescore_value", ((TextView)findViewById(R.id.score_home)).getText());

присоединяет строку вместе с намерением, а не TextView.

Вы должны надуть новый TextView во втором упражнении, либо объявив его в layout.xml, либо программно поместив его в макет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...