как определить в файле манифеста, который является активностью другого

118
10

Я разработал Main класс. Из основного я вызываю другой класс с именем Menu который расширяет Activity, а из Menu class я вызываю другой класс активности. Но это не работает. Какие изменения должны быть необходимы в файле манифеста?

Здесь логарифм

09-09 23:53:42.741: D/gralloc_goldfish(2105): Emulator without GPU emulation detected.
09-09 23:53:47.982: D/AndroidRuntime(2105): Shutting down VM
09-09 23:53:47.982: W/dalvikvm(2105): threadid=1: thread exiting with uncaught exception (group=0xb4e02288)
09-09 23:53:48.011: E/AndroidRuntime(2105): FATAL EXCEPTION: main
09-09 23:53:48.011: E/AndroidRuntime(2105): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.parse.starter/com.parse.starter.Placementmania}; have you declared this activity in your AndroidManifest.xml?
09-09 23:53:48.011: E/AndroidRuntime(2105): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1541)
09-09 23:53:48.011: E/AndroidRuntime(2105): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1416)
09-09 23:53:48.011: E/AndroidRuntime(2105): at android.app.Activity.startActivityForResult(Activity.java:3351)
09-09 23:53:48.011: E/AndroidRuntime(2105): at android.app.Activity.startActivityForResult(Activity.java:3312)
09-09 23:53:48.011: E/AndroidRuntime(2105): at android.app.Activity.startActivity(Activity.java:3522)
09-09 23:53:48.011: E/AndroidRuntime(2105): at android.app.Activity.startActivity(Activity.java:3490)
09-09 23:53:48.011: E/AndroidRuntime(2105): at com.parse.starter.Mainmenu$1.onClick(Mainmenu.java:27)
09-09 23:53:48.011: E/AndroidRuntime(2105): at android.view.View.performClick(View.java:4084)
09-09 23:53:48.011: E/AndroidRuntime(2105): at android.view.View$PerformClick.run(View.java:16966)
09-09 23:53:48.011: E/AndroidRuntime(2105): at android.os.Handler.handleCallback(Handler.java:615)
09-09 23:53:48.011: E/AndroidRuntime(2105): at android.os.Handler.dispatchMessage(Handler.java:92)
09-09 23:53:48.011: E/AndroidRuntime(2105): at android.os.Looper.loop(Looper.java:137)
09-09 23:53:48.011: E/AndroidRuntime(2105): at android.app.ActivityThread.main(ActivityThread.java:4745)
09-09 23:53:48.011: E/AndroidRuntime(2105): at java.lang.reflect.Method.invokeNative(Native Method)
09-09 23:53:48.011: E/AndroidRuntime(2105): at java.lang.reflect.Method.invoke(Method.java:511)
09-09 23:53:48.011: E/AndroidRuntime(2105): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
09-09 23:53:48.011: E/AndroidRuntime(2105): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
09-09 23:53:48.011: E/AndroidRuntime(2105): at dalvik.system.NativeStart.main(Native Method)
09-09 23:53:50.212: I/Process(2105): Sending signal. PID: 2105 SIG: 9

спросил(а) 2021-01-19T17:42:05+03:00 6 месяцев назад
1
Решение
64

В вашем манифесте вы увидите этот код

   <activity
android:name="com.example.yourappname.MainScreen"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

В основном скопируйте и вставьте это и измените вставку с именем и категорией для каждого из ваших классов следующим образом:

   <activity
android:name="com.example.audeoapp.OtherClass" >
<intent-filter>
<action android:name="android.intent.action.OTHERCLASS" />

<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

<activity
android:name="com.example.audeoapp.AnotherClass" >
<intent-filter>
<action android:name="android.intent.action.ANOTHERCLASS" />

<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

ответил(а) 2021-01-19T17:42:05+03:00 6 месяцев назад
45

Добавьте это в свой манифест

        <activity
android:name="com.parse.starter.Placementmania"
android:label="@string/app_name"
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

ответил(а) 2021-01-19T17:42:05+03:00 6 месяцев назад
45

intent.action.main и intent.category.launcher сообщает, что эта активность является основной и запускающей операцией, которая должна открываться при запуске приложения. Для других действий просто введите имя и метку активности в новый тег активности.

ответил(а) 2021-01-19T17:42:05+03:00 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема