【问题标题】:App crashes when trying to open a fragment尝试打开片段时应用程序崩溃
【发布时间】:2015-03-26 14:42:15
【问题描述】:

我正在尝试使用

从活动中打开片段
   buttonreturn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(Chapter1Activity.this, Chapter1.class);
            startActivity(intent);

Chapter1 是我试图访问的片段 但是每当我按下使其打开的按钮时,应用程序就会崩溃。 有什么想法吗?

编辑

日志猫:

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.boszcorp.revappbiology/com.boszcorp.revappbiology.FooFragment}: java.lang.ClassCastException: com.boszcorp.revappbiology.FooFragment cannot be cast to android.app.Activity
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2240)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2391)
        at android.app.ActivityThread.access$900(ActivityThread.java:147)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1296)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:135)
        at android.app.ActivityThread.main(ActivityThread.java:5256)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)
 Caused by: java.lang.ClassCastException: com.boszcorp.revappbiology.FooFragment cannot be cast to android.app.Activity
        at android.app.Instrumentation.newActivity(Instrumentation.java:1065)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2230)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2391)
            at android.app.ActivityThread.access$900(ActivityThread.java:147)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1296)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5256)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)

【问题讨论】:

  • 在 LogCat 中查找消息。如果你理解它们,问题就解决了。如果您不理解他们,请编辑您的问题以包含 LogCat 输出。
  • 如果您发布您的 logcat,您可能会想出一个主意...
  • 您不必使用 Intent 从活动传递到片段,而是使用 FragmentManager 和 FragmentTransaction
  • 您将无法直接从意图开始片段。使用片段管理器或调用包含此特定片段的活动。

标签: android android-intent android-fragments android-activity


【解决方案1】:

由于使用fragment是错误的。应该是这样的

    FragmentTransaction ft = getFragmentManager().beginTransaction();
    Fragment newFragment = MyFragment.newInstance("From Arguments");
    ft.add(R.id.created, newFragment);
    ft.commit();

http://developer.android.com/reference/android/app/Fragment.html

【讨论】:

    猜你喜欢
    • 2023-04-04
    • 1970-01-01
    • 2018-10-07
    • 2018-07-13
    • 1970-01-01
    • 2018-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多