我有一个需要从第二个活动更新的TextView活动。 我可以将Text视图数据传递给第二个活动,但是当我尝试更新TextView时 在第二次活动中它崩溃了。我的代码:
第一个活动(我的xml中定义了TextView):
Intent intent = new Intent(1stactivity.this, 2ndactivity.class);
intent.putExtra("homescore_value", ((TextView)findViewById(R.id.score_home)).getText());
startActivity(intent);
// code snippet
然后在我的第二个活动中:
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 );
请帮忙。
答案 0 :(得分:3)
您正在尝试将String作为TextView(您在第一个Activity的intent中设置String)。
答案 1 :(得分:1)
您尝试将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);
答案 2 :(得分:0)
这一行:
intent.putExtra("homescore_value", ((TextView)findViewById(R.id.score_home)).getText());
将一个String与意图一起附加,而不是TextView。
您必须在第二个活动中为新TextView充气,方法是在layout.xml中声明它,或者以编程方式将其放置在布局中。
答案 3 :(得分:0)
解决了这个问题的部分原因是将接收字符串变量设置为null
,如下所示:
public String param1new = null;
public String param2new= null;
我的问题是我正在尝试在几个TextViews
上设置背景颜色,此时只设置了第一个。