5

最後の部分 ( Starting Another Activity )のすべての手順を実行しましたが、2 番目のアクティビティでメッセージが表示されますが、上ボタンをクリックすると以下の例外がスローされ、LogCat のエラー セクション全体が含まれています。窓。

「不正な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

私も同じ問題を抱えてる。私の問題はまったく異なっていました。AndroidStudio IDE ダイアログで、完全な名前空間を指定せずに ParentActivity を指定しました。当然のことながら、AndroidStudio は AndroidManifest.xml に Class が完全に指定されていないセクションを生成しました。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

このような例外がある場合は、次の 3 つの手順に従います。

1)マニフェスト ファイルのヘッダーのパッケージが正しく、プロジェクトのパッケージ名と一致しているかどうかを確認します。

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

2) build.gradle (Module:app)のapplicationIdが正しく、プロジェクトのパッケージ名と一致しているかどうかを確認します。

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

3)親アクティビティのandroid:valueが正しく記述されているかどうかを確認します。

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

最初の 2 つの手順が正しければ、手順 3で完全な名前空間を記述する必要はありません。

于 2015-12-29T07:18:38.170 に答える