是否可以从android中的另一个Java文件编写setText?
Posted
技术标签:
【中文标题】是否可以从android中的另一个Java文件编写setText?【英文标题】:Is it possible to program setText from another Java file in android? 【发布时间】:2021-10-28 18:53:09 【问题描述】:请先理解我和我的问题。(我解释得很糟糕)
我的文件是 ActivityMain.java 和 activity_main.xml 相互连接(据我所知),意味着如果我正在调用
final TextView helloTextView = (TextView) findViewById(R.id.text_view_id);
helloTextView.setText(R.string.user_greeting);
在(R.id.text_view_id)
,text_view_id
只能连接到android:id="@+id/text_view_id"
,它只显示它 activity_main.xml(据我了解)。如果text_view_id
不存在于activity_main.xml 中,如果我错了,请纠正我,它会抛出错误"NullPointerException"
现在我的问题是 - 无论如何我可以在不获取 NullPointerException
的情况下交换数据?
我的意思是要创建新的 ActivityMain2.java,在 ActivityMain2.java 中编写 javacode 但android:id="@+id/text_view_id"
将出现在 activity_main.java 上。
我尝试了几种方法搜索堆栈溢出但失败了。要么我收到NullPointerException
,要么文本字段没有从代码中更新。
我的技能水平:只是一个初学者
【问题讨论】:
您在 ActivityMain.java 之后调用第二个活动?My files are ActivityMain.java And activity_main.xml which are connected to each other (as far as i know),
不。不是自动的。仅当您使用 setContenView(...activity_main.xml) 时,它们才会连接。因此,仅当您对该活动使用该 xml 布局时。您可以对任意数量的活动使用相同的布局。
【参考方案1】:
你必须创建另一个
activity2.xml
布局文件夹中的文件,然后你放另一个
android:id="@+id/text_view_id"
布局中的文件。 由于您是初学者,我推荐 Google here的初学者课程@
【讨论】:
感谢您的快速回复,我会采纳您的建议的。但我认为我没有很好地解释它。我可能很傻,但我问的是是否可以不创建新的 xml 文件? 是的!没有布局文件的活动是可能的。只是你不会在屏幕上显示任何内容,除非你以编程方式创建布局以上是关于是否可以从android中的另一个Java文件编写setText?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用java将数据从片段传递到android中的另一个片段?