是否可以从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.javaactivity_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中的另一个片段?

使用 PowerShell 脚本从 Azure Blob 存储读取 JSON 文件并写回 Blob 存储中的另一个文件

为啥我可以从 android 中的另一个线程更新视图?

如何从 Java 中的另一个数组创建子数组?

如何从 JavaFX 中的另一个控制器类访问 UI 元素?

在 C++ 中从同一类中的另一个方法调用方法