La actividad no se puede asignar a la actividad
He leído varios posts durante los últimos días y no puedo entender cuál es mi problema. He comprobado los nombres de la actividad y son iguales. También he comprobado mi manifiesto y tengo el .
En frente de las actividades también.
Aquí está mi archivo logcat:
- Android studio sdk versión 22 excepción durante la renderización: action_bar
- El editor de diseño de Android Studio no puede mostrar vistas personalizadas
- Android: Generación de onda sinusoidal
- Programaticamente escribir en un dispositivo Android
- ImageView, ¿por qué diferentes tamaños?
02-23 16:48:22.438 1508-1508/com.pctoolman.planme.app E/AndroidRuntime﹕ FATAL EXCEPTION: main java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.pctoolman.planme.app/com.pctoolman.planme.app.PlanMeMainActivity}: java.lang.ClassCastException: com.pctoolman.planme.app.PlanMeMainActivity cannot be cast to android.app.Activity at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2137) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) at android.app.ActivityThread.access$600(ActivityThread.java:141) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5103) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:525) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.ClassCastException: com.pctoolman.planme.app.PlanMeMainActivity cannot be cast to android.app.Activity at android.app.Instrumentation.newActivity(Instrumentation.java:1061) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2128) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) at android.app.ActivityThread.access$600(ActivityThread.java:141) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5103) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:525) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) at dalvik.system.NativeStart.main(Native Method)
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.pctoolman.planme.app" > <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.pctoolman.planme.app.PlanMeMainActivity" 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.pctoolman.planme.app.NewEventSetupActivity" android:label="@string/setup"> </activity> </application>
PlanMeMainFragment.java
package com.pctoolman.planme.app; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; public class PlanMeMainFragment extends Fragment { private Button mNewButton, mExistingButton; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRetainInstance(true); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.planme_main_fragment, parent, false); mNewButton = (Button)v.findViewById(R.id.new_event_button); mNewButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent myIntent = new Intent(getActivity(), NewEventSetupActivity.class); getActivity().startActivity(myIntent); } }); return v; } }
PlanMeMainActivity.java
package com.pctoolman.planme.app; import android.support.v4.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; public class PlanMeMainActivity extends Fragment { public Fragment createFragment() { return new PlanMeMainFragment(); } }
- Verificar firma digital en Android
- Cómo utilizar el teclado suave android en SurfaceView
- Quiero crear un "modo nocturno" rojo para mi aplicación para Android
- Java MappedByteBuffer.get () sorprendentemente lento
- Pantalla transluscente android
- ¿Cómo apagar el teléfono Android mediante programación?
- Mostrar el valor cuando se pulsa
- Java.lang.UnsupportedOperationException: Servicio no compatible: accesibilidad android studio
Cambiar esta línea
public class PlanMeMainActivity extends Fragment {
a
public class PlanMeMainActivity extends FragmentActivity {
Aquí puede encontrar todo lo que necesita saber acerca de las actividades y aún más. Aclamaciones
¿Dónde te equivocas?
<activity android:name="com.pctoolman.planme.app.PlanMeMainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
¿Por qué te equivocas?
El error es que agregaste el Fragmento en el Manifiesto como Actividad. Sin embargo los fragmentos no son actividades
¿Qué debes hacer?
Debe agregar el fragmento en una actividad y luego definir esa actividad en el manifiesto
Tu PlanMeMainActivity
no es una Activity
; Es un Fragment
. Su actividad debe ser una actividad, y luego puede agregar fragmentos a ella.
Tu PlanMainActivity extiende un fragmento. No se puede enviar un fragmento a una actividad
Clean Project resolvió este error. La causa raíz del error en mi caso fue diferente, pero recibí el mismo error "Actividad no se puede asignar a la actividad".
Me enfrenté a este problema después de copiar existente (perfectamente trabajando) Android Project para crear uno nuevo. Después de copiar el proyecto, AppCompatActivity no fue reconocido causando que todas las actividades del archivo de manifiesto de Android mostraran el error "activity-is-not-assignable-to-activity".
Lo cual se solucionó limpiando el proyecto.
Finalmente, descubro que la solución es añadir la siguiente línea en sus dependencias:
compile 'com.android.support:support-v4:23.2.0'
Simplemente borre la carpeta ".gradle" de su proyecto y presione el botón de sincronización. Ha resuelto mi problema
- Menú inflar llamadas varias veces en el fragmento onCreateOptionsMenu
- Disposición de Android alinear fondo