5

我已经完成了最后一部分(开始另一个活动)的所有步骤,它确实在第二个活动上显示了消息,但是当我单击向上按钮时,它会抛出下面的异常,我已经包含了 LogCat 中的整个错误部分窗户。

我尝试在网上搜索“ bad parentActivityName ”或“没有指定父活动名称”,但找不到任何明确的信息或与培训相关的任何内容。

E/Activity(17099): getParentActivityIntent: bad parentActivityName 'com.example.myfirstapp.MainActivity' in manifest
E/NavUtils(17099): getParentActivityIntent: bad parentActivityName 'com.example.myfirstapp.MainActivity' in manifest
D/AndroidRuntime(17099): Shutting down VM
E/AndroidRuntime(17099): FATAL EXCEPTION: main
E/AndroidRuntime(17099): java.lang.IllegalArgumentException: Activity DisplayMessageActivity 
    does not have a parent activity name specified. (Did you forget to add the 
    android.support.PARENT_ACTIVITY <meta-data>  element in your manifest?)

E/AndroidRuntime(17099):    at android.support.v4.app.NavUtils.navigateUpFromSameTask(NavUtils.java:177)
E/AndroidRuntime(17099):    at com.example.myfirstname.DisplayMessageActivity.onOptionsItemSelected(DisplayMessageActivity.java:55)
E/AndroidRuntime(17099):    at android.app.Activity.onMenuItemSelected(Activity.java:2548)
E/AndroidRuntime(17099):    at com.android.internal.widget.ActionBarView$3.onClick(ActionBarView.java:167)
E/AndroidRuntime(17099):    at android.view.View.performClick(View.java:4204)
E/AndroidRuntime(17099):    at android.view.View$PerformClick.run(View.java:17355)
E/AndroidRuntime(17099):    at android.os.Handler.handleCallback(Handler.java:725)
E/AndroidRuntime(17099):    at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(17099):    at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(17099):    at android.app.ActivityThread.main(ActivityThread.java:5041)
E/AndroidRuntime(17099):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(17099):    at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(17099):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
E/AndroidRuntime(17099):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
E/AndroidRuntime(17099):    at dalvik.system.NativeStart.main(Native Method)
4

3 回答 3

8

我也有同样的问题。我的问题完全不同。我指定了没有完整命名空间的 ParentActivity我在AndroidStudio IDE 对话框自然地,AndroidStudio 在 AndroidManifest.xml 中生成了一个没有完全指定类的部分。我通过在 xml 标签中指定完整的命名空间来手动更改它

<meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="____._____.MainActivity"/>
</activity>
于 2014-05-10T14:10:36.707 回答
6

事实证明,我犯了一个简单的错误,我弄错了命名空间。

训练中使用:com.example.myfirstapp 我使用的是:com.example.myfirstname

由于某种原因,我使用了与培训不同的名称,因此当我从最后一部分复制和粘贴时,它包含了原始名称。事后看来,我应该更仔细地阅读错误消息,我应该意识到我的错误。

'您是否忘记添加 android.support.PARENT_ACTIVITY ' 部分让我有点失望,因为包含了该部分,它只是使用了错误的命名空间。

于 2013-05-01T19:59:37.937 回答
2

如果您有此类异常,请按照以下三个步骤操作:

1)检查清单文件头中的是否正确并与您的项目的包命名匹配:

<manifest package="com.my.project" ...>

2) 检查build.gradle (Module:app)中的applicationId是否正确并与您项目的包命名匹配:

defaultConfig {
    applicationId "com.my.project"
    ...
}

3) 检查android:value of parent Activity 是否正确写入。

<meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="._____.MainActivity"/>
</activity>

如果前两步是正确的,那么你就不需要在第三步写完整的命名空间了!

于 2015-12-29T07:18:38.170 回答