[已解决]通过Activity无法打开fragment

getSupportFragmentManager().beginTransaction()
            .add(R.id.container,new Fragment_Main()).commit();


请问,通过这种方式为什么启动不了 Fragment 页面?直接程序中止了
其中 R.id.container 创建应用后是不存在的,
是我自己将程序的Activity_Main中的 RelativeLayout 定义ID为 container 的。不知道有没有什么问题。

或者有没有 Android Studio 使用Fragment的例程源码?
2016-01-02 15:27 添加评论 分享
已邀请:
1

Evil_Song - Android & Web & WPF

赞同来自: ask



从你的Crash信息可以看到,你应该是缺少
implements  xxxFragment.OnFragmentInteractionListener

。你可以试着在你的Activity中继承FragmentActivity 之后再实现OnFragmentInteractionListener接口。然后实现接口的方法
@Override
public void onFragmentInteraction(Uri uri) {

}

先这样试试吧。
1

f839903061 - 90后IT

赞同来自: ask

你应该在你的Activity中这么写

public class APP2_Main_ACT extend Activity implement OnFragmentInteractionListener {}

根据提示将fragment中的监听接口override就可以了
1

studiozz - zz

赞同来自: ask

java.lang.RuntimeException: linkgame.com.example.maple.app2.APP2_Main_ACT@419c04a0 must implement OnFragmentInteractionListener 回调没有实现?
0

Evil_Song - Android & Web & WPF

赞同来自:

可以发一下Crash信息或者截个图看看。
关于Fragment的源代码你可以自己找找。
0

xiaosheng9012

赞同来自:

我觉得可能这个:R.id.container 是关键,因为我创建新的应用或者Fragment的时候是没有这个container这个ID的。而我看别人的教程中都是自带就有的。还望指教。
这是在真机测试后出现“应用已经停止运行”这样内容的时候AndroidStudio输出的错误代码:

E/Trace: error opening trace file: No such file or directory (2)
E/jdwp: jdwp::setsockopt(SO_SNDTIMEO)
E/jdwp: jdwp::setsockopt(SO_RCVTIMEO)
E/Trace: error opening trace file: No such file or directory (2)
E/AndroidRuntime: FATAL EXCEPTION: main
              java.lang.RuntimeException: Unable to start activity ComponentInfo{linkgame.com.example.maple.app2/linkgame.com.example.maple.app2.APP2_Main_ACT}: java.lang.RuntimeException: linkgame.com.example.maple.app2.APP2_Main_ACT@419c04a0 must implement OnFragmentInteractionListener
                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2351)
                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2403)
                  at android.app.ActivityThread.access$600(ActivityThread.java:165)
                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1373)
                  at android.os.Handler.dispatchMessage(Handler.java:107)
                  at android.os.Looper.loop(Looper.java:194)
                  at android.app.ActivityThread.main(ActivityThread.java:5391)
                  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:833)
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
                  at dalvik.system.NativeStart.main(Native Method)
               Caused by: java.lang.RuntimeException: linkgame.com.example.maple.app2.APP2_Main_ACT@419c04a0 must implement OnFragmentInteractionListener
                  at linkgame.com.example.maple.app2.Fragment_Main.onAttach(Fragment_Main.java:83)
                  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1019)
                  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1248)
                  at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738)
                  at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1613)
                  at android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:330)
                  at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:547)
                  at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1236)
                  at android.app.Activity.performStart(Activity.java:5132)
                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2324)
                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2403) 
                  at android.app.ActivityThread.access$600(ActivityThread.java:165) 
                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1373) 
                  at android.os.Handler.dispatchMessage(Handler.java:107) 
                  at android.os.Looper.loop(Looper.java:194) 
                  at android.app.ActivityThread.main(ActivityThread.java:5391) 
                  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:833) 
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 
                  at dalvik.system.NativeStart.main(Native Method) 
E/AppErrorDialog: Failed to get ILowStorageHandle instance
0

xiaosheng9012

赞同来自:

多谢大家,问题已经解决。是回调问题。

要回复问题请先登录注册

退出全屏模式 全屏模式 回复