Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';无法从其他活动更新TextView_Java_Android_Textview - Fatal编程技术网

Java Can';无法从其他活动更新TextView

Java Can';无法从其他活动更新TextView,java,android,textview,Java,Android,Textview,我有一个带有文本视图的活动,需要从第二个活动更新该活动。 我可以将文本视图数据传递给第二个活动ok,但当我尝试更新该文本视图时 在第二个活动中,它崩溃。我的代码: 第一个活动(其中TextView在my xml中定义): 然后在我的第二个活动中: Bundle bundle = getIntent().getExtras(); hometext = bundle.getString("homescore_value"); // this works and displays the correc

我有一个带有文本视图的活动,需要从第二个活动更新该活动。 我可以将文本视图数据传递给第二个活动ok,但当我尝试更新该文本视图时 在第二个活动中,它崩溃。我的代码:

第一个活动(其中TextView在my xml中定义):

然后在我的第二个活动中:

Bundle bundle = getIntent().getExtras();
hometext = bundle.getString("homescore_value"); // this works and displays the correct String from 1st activity, 
但当我尝试以
文本视图的形式拉入时,它崩溃了:

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

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

请帮助。

您正在尝试将字符串作为文本视图(您正在从第一个活动的意图中设置字符串)。

您正在尝试将字符串作为文本视图(您正在从第一个活动的意图中设置字符串)。

您正在尝试将
字符串
转换为
文本视图
。崩溃的代码相当于:

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);

您正在尝试将
字符串
转换为
文本视图
。崩溃的代码相当于:

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);
这一行在这里:

intent.putExtra("homescore_value", ((TextView)findViewById(R.id.score_home)).getText());
正在随意图而不是文本视图附加字符串

您必须在第二个活动中通过在layout.xml中声明新的TextView,或通过编程将其放置在布局中,从而使其膨胀。

这一行:

intent.putExtra("homescore_value", ((TextView)findViewById(R.id.score_home)).getText());
正在随意图而不是文本视图附加字符串


您必须通过在layout.xml中声明新的TextView,或通过编程将其放置在布局中,从而在第二个活动中膨胀新的TextView。

对我来说,解决此问题的部分方法是将接收字符串变量设置为
null
,如下所示:

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

我的问题是,我试图在几个
文本视图上设置背景色,而此时只设置了第一个背景色。

解决了部分问题的方法是将接收字符串变量设置为
null
,如下所示:

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


我的问题是,我试图在几个
文本视图上设置背景色,而此时只设置了第一个背景色。

请粘贴LogCat例外请粘贴LogCat例外String=(String)bundle.get(“homescore_值”);TextView TextView=(TextView)findViewById(R.id.score_home);//textView.setText(文本);-->当我使用此行时崩溃如何在第2个活动的第1个活动中为TextView充气?我认为这就是使用putExtra的原因。这样第二个活动就可以识别TextView是什么了?我想我错过了一些东西。谢谢您的帮助。请将
TextView
视为文本的占位符,而不是实际文本。出于某种目的,您会注意到,您实际上无法发送textView,因为它不是基本数据类型或实现
Parcelable
。因此,基本上,当您调用
textView.getText()
时,您可以获取其中的字符串,并通过intent发送该字符串。所以
TextView
只是一个用来放置字符串的bucket/占位符。您需要设置另一个
TextView
,以便第二个布局知道将其放置在何处。希望这对您有所帮助:)好的,我明白您的意思,但我的目标是当第二个活动结束时(使用finish():)命令,我的第一个活动将继续,这就是我需要更新文本的地方。不知何故,我需要它自动刷新。textview数据来自存储的共享首选项,因此这不是问题,只需在第二个活动结束后自动更新视图即可。再次感谢您的解释。您可以做的是在活动在
onPause()
中关闭之前再次将该文本保存到共享首选项中。然后,当它返回到前一个活动时,它可以从共享首选项中获取,就像它从第一个timeString text=(String)bundle.get(“homescore_value”)中获取一样;TextView TextView=(TextView)findViewById(R.id.score_home);//textView.setText(文本);-->当我使用此行时崩溃如何在第2个活动的第1个活动中为TextView充气?我认为这就是使用putExtra的原因。这样第二个活动就可以识别TextView是什么了?我想我错过了一些东西。谢谢您的帮助。请将
TextView
视为文本的占位符,而不是实际文本。出于某种目的,您会注意到,您实际上无法发送textView,因为它不是基本数据类型或实现
Parcelable
。因此,基本上,当您调用
textView.getText()
时,您可以获取其中的字符串,并通过intent发送该字符串。所以
TextView
只是一个用来放置字符串的bucket/占位符。您需要设置另一个
TextView
,以便第二个布局知道将其放置在何处。希望这对您有所帮助:)好的,我明白您的意思,但我的目标是当第二个活动结束时(使用finish():)命令,我的第一个活动将继续,这就是我需要更新文本的地方。不知何故,我需要它自动刷新。textview数据来自存储的共享首选项,因此这不是问题,只需在第二个活动结束后自动更新视图即可。再次感谢您的解释。您可以做的是在活动在
onPause()
中关闭之前再次将该文本保存到共享首选项中。然后,当它返回到前一个活动时,它可以从共享首选项中获得,就像第三行第一次导致崩溃时一样:textView.setText(text);您需要更改
R.id.yourTextViewId
以更正活动版面中文本视图的id。我已更改R.id.yourTextViewId以匹配我在第一个活动版面中的id。但是我在我的第二个活动中使用了这个,它是如何识别的,因为第二个活动有一个完全不同的布局?在第二个布局(第二个活动的布局)中,您应该在您喜欢的任何位置包含带有
android:id=“@+id/youtTextViewId
的TextView。实际上,我不需要在第二个活动中更新TextView,该活动只计算v