Подтвердить что ты не робот

Деятельность не назначается для деятельности

Я прочитал несколько сообщений за последние пару дней, и я не могу понять, в чем моя проблема. Я проверил имена активности, и они совпадают. Я также проверил свой манифест, и у меня есть . перед действиями.

Вот мой файл logcat:

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();
    }

}
4b9b3361

Ответ 1

Измените эту строку

public class PlanMeMainActivity extends Fragment {

к

public class PlanMeMainActivity extends FragmentActivity {

Здесь вы можете найти все, что вам нужно знать о действиях и даже больше. Приветствия

Ответ 2

Где вы ошибаетесь?

  <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>

Почему вы ошибаетесь?

Ошибка заключается в том, что вы добавили фрагмент в манифест, как Мероприятия. Однако фрагменты не являются действиями

Что вы должны делать?

Вы должны добавить фрагмент в действие, а затем определить эту активность в Manifest

Ответ 3

Ваш PlanMeMainActivity не является Activity; это a Fragment. Ваша деятельность должна быть активна, и вы можете добавить к ней фрагменты.

Ответ 4

Ваша PlanMainActivity расширяет фрагмент. Фрагмент не может быть перенесен в действие

Ответ 5

Чистый проект решил эту ошибку. Основная причина ошибки в моем случае была другой, но я получил то же самое: "Activity is not assignable to Activity" error.

Я столкнулся с этой проблемой после копирования существующего (отлично работающего) Android Project для создания нового. После копирования проекта AppCompatActivity не был распознан, что привело к тому, что все действия в файле манифеста Android отображали ошибку "activity-is-not-assignable-to-activity".
Это было решено путем очистки проекта.

Ответ 6

Наконец, я выясню, что решение добавляет следующую строку в ваши зависимости:

compile 'com.android.support:support-v4:23.2.0'

Ответ 7

просто удалите папку ".gradle" вашего проекта и нажмите кнопку синхронизации. его решена моя проблема