java 開く アクティビティをアクティビティに割り当てることはできません




safari pdf 保存 できない ipad (7)

PlanMainActivityはフラグメントを拡張します。 フラグメントをアクティビティにキャストできません

私は最後の数日間、いくつかの記事を読んだので、私の問題が何であるか把握できないようです。 私はアクティビティ名をチェックしており、同じものです。 私はまた、私のマニフェストをチェックして、私は持っている. 活動の前でも

ここに私の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();
    }

}

Clean Projectがこのエラーを解決しました。 私の場合のエラーの根本原因は異なっていましたが、同じアクティビティがアクティビティに割り当てられません。

私はこの問題に直面し、既存の(完全に機能する)Androidプロジェクトをコピーして新しいものを作成した。 プロジェクトをコピーした後、AppCompatActivityは認識されず、Android Manifestファイル内のすべてのアクティビティにエラー「アクティビティに割り当てられないアクティビティ」が表示されます。
それはプロジェクトをきれいにすることで解決しました。


私の場合は、Androidスタジオにインストールされたプラグインだけでエラーが発生しました。 だからあなたのプラグインをチェックし、奇妙なものをアンインストールします。


あなたはどこが間違っていますか?

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

なぜあなたは間違っていますか?

間違いは、マニフェストにフラグメントをアクティビティとして追加したことです。 しかし、断片は活動ではない

何をすべきか?

そのフラグメントをアクティビティに追加し、そのアクティビティをマニフェストで定義する必要があります


この行を変更する

public class PlanMeMainActivity extends Fragment {

public class PlanMeMainActivity extends FragmentActivity {

Hereは、アクティビティなどについて知る必要があるすべてを見つけることができます。 乾杯


あなたのPlanMeMainActivity Activityはありません 。 それはFragmentです。 あなたのアクティビティはアクティビティである必要があります。そのアクティビティにフラグメントを追加することができます。


最後に、私はあなたの依存関係に次の行を追加するという解決策を見つけました:

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





android