问题 无法为Android Studio中的新活动设置父活动。错误:必须已存在分层父级


我开始从developer.android.com构建我的第一个应用程序。最近切换到Android Studio,发现我无法为新活动(DisplayMessageActivity)设置分层父级。它声明“Hierarchical Parent必须已经存在”。有人可以指导我吗?在Eclipse中,它工作正常。


8638
2018-03-09 04:38


起源

它与0.5.2版本相同 - nemke


答案:


我也在做 我的第一个应用 使用Android Studio在Android开发者网站上进行教程并遇到同样的问题。谢谢 charmarel 对于Android Studio允许您将有问题的字段留空的提示。但是,这将导致您执行IDE为您提供的一些工作,以便让应用程序正常运行。

解决方法并不是那么糟糕:

  1. 如上所述,Android Studio(0.5.2)将允许您将Hierarchical Parent字段留空,因此只需像往常一样填写Activity Name,Layout Name和Title,并忽略Parent。
  2. 现在关于不再为你做的那些腿部工作......你需要编辑 AndroidManifest.xml中 提交自己以定义此新活动的父活动信息,因为您刚刚在空白处 新活动 对话窗口。

编辑新的Activity节点以包含此信息,它应如下所示:

<activity
    android:name="com.example.myfirstapp.DisplayMessageActivity"
    android:label="@string/title_activity_display_message"
    android:parentActivityName="com.example.myfirstapp.MainActivity" >
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value="com.example.myfirstapp.MainActivity" />
</activity>

就是这样,问题环游世界!


4
2018-05-06 22:22





我刚遇到同样的问题,我相信这是Android Studio最新更新中的一个错误。我认为您可以通过手动为活动创建.java文件来解决这个问题。

编辑:我对此进行了实验,发现您可以使用Android Studio进行活动,只需将分层父级留空,确保新活动.java文件顶部的“包”部分中的层次结构正确,并且会没事的。


4
2018-03-09 23:50



谢谢。它按照你说的方式工作。然而,对于像我这样的初学者,我认为远离Android Studio直到我掌握基础知识是明智之举。 - cdkn7
@ user3397618这是我做出的决定。我从Eclipse开始。不过,最近,我转而使用Android Studio,我非常喜欢它。 - theblang
有同样的问题:/它在.4.8中正常工作,但正如你所说的......当你开始时,Android Studio是一个痛苦的屁股,但随后......这是最令人惊奇的事情:) - Rudy_TM
@charmarel:让它空白让我创建了新的Activity;但是,你的意思是“确保新活动.java文件顶部的”包“部分中的层次结构是正确的”?我在新的Activity文件中的进口语句之前的所有内容都是“package platypus.app;”除此之外还应该是什么? - B. Clay Shannon


我在版本0.5.2中遇到了同样的问题,但它似乎现在在0.5.4中工作, 可能是许多错误修复中的一个


2
2018-04-07 22:32



你在这里回答的几分钟内我遇到了这个问题; 0.5.4是Canary频道版,对吗? (“金丝雀”)名称中的窒息煤矿内涵往往趋于狡猾,但...... - B. Clay Shannon
这听起来和我的版本相同。我应该提到我在OSX上。您是否尝试从类中复制包名称,然后将类名添加到其末尾?我总是这样做,因为我永远不会记得我正在做什么项目...... - ThrowingSpoon