Android Studio - setContentView 不会显示新的 XML 布局
Posted
技术标签:
【中文标题】Android Studio - setContentView 不会显示新的 XML 布局【英文标题】:Android Studio - setContentView Wont Display New XML Layout 【发布时间】:2021-06-28 23:18:24 【问题描述】:对 android Studio 非常陌生,我正在学习一个简单的 Udemy 教程。我有:
-
成功创建 main.xml 文件
成功利用代码中的文件:setContentView(R.layout.main);
根据教程,我创建了第二个 xml 文件,只有一个简单的按钮,名为“test.xml”。我按照说明在 setContentView 中使用它:
setContentView(R.layout.test);
但是,每次我在更改后运行模拟器时都没有任何反应 - 我得到一个快速关闭的白屏,应用程序无法打开。在“运行”部分,我收到“成功操作成功”消息。构建部分显示“已完成”。
如果我反复重播应用程序,我会在模拟器中收到一条消息,指出:“应用程序名称一直在停止”,但除此之外没有任何实际信息。
我认为我正在正确地创建新的 xml 文件:在 res 文件夹中 -> 新建文件 -> Android 资源文件 -> 给它一个文件名(例如 test)。新的 xml 文件然后落入我的 res 文件夹中的 layout 文件夹中。
我创建了许多 xml 文件,但总是得到相同的结果。我没有看到任何地方显示错误。
在这样一个简单的练习中,我对自己做错了什么感到迷茫。
下面是我的 onCreate 代码:
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.testa);
再次 - 如果我将“testa”更改为“main”,它会起作用。
附件是主文件和测试文件的 xml 代码。 xml file 1 xml file 2
【问题讨论】:
我们可以看看你的onCreate()
方法
你能把你的文件放在这里吗
我已经添加了onCreate代码和上面的xml文件。
您是否在MainActivity
的任何位置添加了任何findViewById()
?切换布局时可能会崩溃,因为testa
没有main
的某些视图
谢谢!!!这是 findViewById() !!!非常感激!用户3170251
【参考方案1】:
为了显示 test.xml,你需要将它添加到你的 xml 文件中
tools:context=".MainActivity"
并且您的 .java 文件必须以 MainActivity.java 命名。
简而言之,如果您想将任何 xml 文件与 java 类绑定,则将上述属性添加到主布局中。java 文件名必须与工具中的相同:context="._____"
【讨论】:
感谢您的贡献。我早些时候尝试过,但没有奏效。 2 个 xml 文件的初始代码是相同的 - 除了背景颜色。 不幸的是这没有效果。模拟器仍然没有运行应用程序。以上是关于Android Studio - setContentView 不会显示新的 XML 布局的主要内容,如果未能解决你的问题,请参考以下文章
更改 UIAlertView 的背景颜色,我收到警告:未找到 -setContents 方法
升级到 Jetpack Compose Alpha 12 会导致 setContent 出现错误
Ueditor百度编辑器中的 setContent()方法的使用