Beim Versuch, eine andere Aktivität zu starten, erhalte ich eine Android.Content.ActivityNotFoundException. Ich konnte keine Informationen finden, die mir sagen, ob das möglich ist oder nicht.Android.Content.ActivityNotFoundException (für eine Klasse, die von einer Klasse abgeleitet ist, die von Activity abgeleitet ist)
Dies ist, wie die Aktivität wird beginnen:
var intent = new Intent(this, typeof (ClassB));
intent.PutExtra("mac",mac);
intent.SetFlags(ActivityFlags.SingleTop);
StartActivityForResult(intent,_requestcodeControl);
Dies ist ClassB:
[Activity(Label = "ClassB", MainLauncher = false)]
public class ClassB : ClassA
{
protected override void OnCreate(Bundle bundle)
{
Log.Debug(TAG, "OnCreate");
base.OnCreate(bundle);
.....
Und das ist die KlasseA:
public abstract class ClassA : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
.....
Kann ich eine Aktivität definieren wie Das?
// bearbeiten: Ich habe meine Manifest.xml angepasst, so dass diese 2 Klassen erscheinen, weil Monodroid sie nicht hinzugefügt hat.
Jetzt bekomme ich die Ausnahme nicht mehr, aber die App stürzt vorher ab. Diese
ist, was die Log sagt:
E/AndroidRuntime(28005): FATAL EXCEPTION: main
E/AndroidRuntime(28005): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{AndroidProtoype_Mono.AndroidProtoype_Mono/androidprotoype_mono.devices.ClassB}: java.lang.InstantiationException: androidprotoype_mono.devices.ClassB
E/AndroidRuntime(28005): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1573)
E/AndroidRuntime(28005): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
E/AndroidRuntime(28005): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
E/AndroidRuntime(28005): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
E/AndroidRuntime(28005): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(28005): at android.os.Looper.loop(Looper.java:130)
E/AndroidRuntime(28005): at android.app.ActivityThread.main(ActivityThread.java:3691)
E/AndroidRuntime(28005): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(28005): at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime(28005): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
E/AndroidRuntime(28005): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
E/AndroidRuntime(28005): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(28005): Caused by: java.lang.InstantiationException: androidprotoype_mono.devices.Samson64952
E/AndroidRuntime(28005): at java.lang.Class.newInstanceImpl(Native Method)
E/AndroidRuntime(28005): at java.lang.Class.newInstance(Class.java:1409)
E/AndroidRuntime(28005): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
E/AndroidRuntime(28005): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1565)
E/AndroidRuntime(28005): ... 11 more
ich die Frage zurückziehen. Machte die abgeleitete Klassenzusammenfassung auch. Dies war offensichtlich die Schuld.
Haben Sie diese Aktivität in Ihrem AndroidManifest ordnungsgemäß registriert? * (falls ja und der Fehler weiterhin auftritt, bitte diesen Manifestabschnitt posten) * –
Nun, haben Sie beide Aktivitäten im Manifest deklariert? – Th0rndike
Sie müssen Ihre Aktivität in Manifest-Datei registrieren http://stackoverflow.com/questions/4481903/how-to-register-a-new-activity-in-manifest-xml – vipin