java - 应用程序在平板电脑上运行,但在智能手机上崩溃

标签 java android

这是 Activity 中的代码。 fragment 发生变化。应用程序可以在平板电脑上运行,但可以在智能手机上运行(请参阅评论行)。尝试/捕获不起作用。平板电脑上的 Android 版本为 4.2,智能手机上的 Android 版本为 4.4。

这是什么?

The code:

 @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        // Check to see if we have a frame in which to embed the details
        // fragment directly in the containing UI.
        View detailsFrame = getActivity().findViewById(R.id.details);

        mDualPane = detailsFrame != null && detailsFrame.getVisibility() == View.VISIBLE;

        if (savedInstanceState != null) {
            // Restore last state for checked position.
            mCurCheckPosition = savedInstanceState.getInt("curChoice", 0);
        }

        Fragment f = map.get(mCurCheckPosition);
        f = new DeviceUARTFragment(getActivity() , ftD2xx);

        map.put(mCurCheckPosition, f);
        Bundle args = new Bundle();
        args.putInt("index", mCurCheckPosition);
        f.setArguments(args);

        currentFragment = f;

        FragmentTransaction ft = getFragmentManager().beginTransaction();
        ft.replace(R.id.details, f);
        ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
        ft.commit(); /* here application crashes */

        old_index = currect_index;
    }

日志猫:

11-19 05:37:58.310: E/FragmentManager(1161): No view found for id 0x7f0700f2 <br>(com.ftdi.javad2xxdemo:id/details) for fragment DeviceUARTFragment{b1dc0c60 #1 id=0x7f0700f2}<br>
11-19 05:37:58.310: E/FragmentManager(1161): Activity state:<br>
11-19 05:37:58.330: E/FragmentManager(1161):   Local Activity b1dc16f8 State:<br>
11-19 05:37:58.330: E/FragmentManager(1161):     mResumed=false mStopped=false mFinished=false<br>
11-19 05:37:58.340: E/FragmentManager(1161):     mLoadersStarted=false<br>
11-19 05:37:58.340: E/FragmentManager(1161):     mChangingConfigurations=false<br>
11-19 05:37:58.360: E/FragmentManager(1161):     mCurrentConfig={1.0 310mcc260mnc en_US ldltr sw360dp w598dp h335dp 320dpi nrml land finger qwerty/v/v -nav/h s.6}<br>
11-19 05:37:58.360: E/FragmentManager(1161):   Active Fragments in b1dc17f8:<br>
11-19 05:37:58.360: E/FragmentManager(1161):     #0: TitlesFragment{b1dea6f0 #0 id=0x7f0700f1}<br>
11-19 05:37:58.360: E/FragmentManager(1161):       mFragmentId=#7f0700f1 mContainerId=#ffffffff <br>mTag=null<br>
11-19 05:37:58.360: E/FragmentManager(1161):       mState=2 mIndex=0 mWho=android:fragment:0 <br><br>mBackStackNesting=0
11-19 05:37:58.360: E/FragmentManager(1161):       mAdded=true mRemoving=false mResumed=false mFromLayout=true mInLayout=true
11-19 05:37:58.360: E/FragmentManager(1161):       mHidden=false mDetached=false mMenuVisible=true mHasMenu=false
11-19 05:37:58.360: E/FragmentManager(1161):       mRetainInstance=false mRetaining=false mUserVisibleHint=true
11-19 05:37:58.360: E/FragmentManager(1161):       mFragmentManager=FragmentManager{b1dc17f8 in <br>FragmentLayout{b1dc16f8}}
11-19 05:37:58.360: E/FragmentManager(1161):       <br>mActivity=com.ftdi.javad2xxdemo.FragmentLayout@b1dc16f8<br>
11-19 05:37:58.360: E/FragmentManager(1161):       mView=android.widget.FrameLayout{b1deadd8 V.E..... ......I. 0,0-0,0 #7f0700f1 app:id/titles}<br>
11-19 05:37:58.360: E/FragmentManager(1161):     #1: DeviceUARTFragment{b1dc0c60 #1 id=0x7f0700f2}<br>
11-19 05:37:58.360: E/FragmentManager(1161):       mFragmentId=#7f0700f2 mContainerId=#<br>
11-19 05:37:58.660: E/FragmentManager(1161): 7f0700f2 mTag=null<br>
11-19 05:37:58.770: E/FragmentManager(1161):       mState=0 mIndex=1 mWho=android:fragment:1 <br>mBackStackNesting=0
11-19 05:37:58.770: E/FragmentManager(1161):       mAdded=true mRemoving=false mResumed=false <br>mFromLayout=false mInLayout=false
11-19 05:37:58.770: E/FragmentManager(1161):       mHidden=false mDetached=false mMenuVisible=true <br>mHasMenu=false
11-19 05:37:58.770: E/FragmentManager(1161):       mRetainInstance=false mRetaining=false <br>mUserVisibleHint=true
11-19 05:37:58.770: E/FragmentManager(1161):       mFragmentManager=FragmentManager{b1dc17f8 in <br>FragmentLayout{b1dc16f8}}
11-19 05:37:58.850: E/FragmentManager(1161):       <br>mActivity=com.ftdi.javad2xxdemo.FragmentLayout@b1dc16f8
11-19 05:37:58.850: E/FragmentManager(1161):       mArguments=Bundle[{index=0}]<br>
11-19 05:37:58.850: E/FragmentManager(1161):   Added Fragments:<br>
11-19 05:37:58.850: E/FragmentManager(1161):     #0: TitlesFragment{b1dea6f0 #0 id=0x7f0700f1}<br>
11-19 05:37:58.850: E/FragmentManager(1161):     #1: DeviceUARTFragment{b1dc0c60 #1 id=0x7f0700f2}<br>
11-19 05:37:58.990: E/FragmentManager(1161):   FragmentManager misc state:<br>
11-19 05:37:58.990: E/FragmentManager(1161):     mActivity=com.ftdi.javad2xxdemo.FragmentLayout@b1dc16f8<br>
11-19 05:37:58.990: E/FragmentManager(1161):     mContainer=android.app.Activity$1@b1dc1870<br>
11-19 05:37:58.990: E/FragmentManager(1161):     mCurState=2 mStateSaved=false mDestroyed=false<br>
11-19 05:37:58.990: E/FragmentManager(1161):   Looper (main, tid 1) {b1dba140}<br>
11-19 05:37:58.990: E/FragmentManager(1161):     Message 0: { when=-1s408ms <br>callback=android.app.ListFragment$1 target=android.os.Handler }
11-19 05:37:58.990: E/FragmentManager(1161):     (Total messages: 1, idling=false, quitting=false)<br>
11-19 05:37:59.130: D/AndroidRuntime(1161): Shutting down VM<br>
11-19 05:37:59.140: W/dalvikvm(1161): threadid=1: thread exiting with uncaught exception <br>(group=0xb1ae3ba8)
11-19 05:37:59.410: E/AndroidRuntime(1161): FATAL EXCEPTION: main<br>
11-19 05:37:59.410: E/AndroidRuntime(1161): Process: com.ftdi.javad2xxdemo, PID: 1161<br>
11-19 05:37:59.410: E/AndroidRuntime(1161): java.lang.RuntimeException: Unable to start activity <br>ComponentInfo{com.ftdi.javad2xxdemo/com.ftdi.javad2xxdemo.FragmentLayout}: <br>java.lang.IllegalArgumentException: No view found for id 0x7f0700f2 (com.ftdi.javad2xxdemo:id/details) for fragment DeviceUARTFragment{b1dc0c60 #1 id=0x7f0700f2}<br>
11-19 05:37:59.410: E/AndroidRuntime(1161):     at <br>android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)<br>
11-19 05:37:59.410: E/AndroidRuntime(1161):     at <br>android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)<br>
11-19 05:37:59.410: E/AndroidRuntime(1161):     at <br>android.app.ActivityThread.access$800(ActivityThread.java:135)<br>
11-19 05:37:59.410: E/AndroidRuntime(1161):     at <br>android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)<br>
11-19 05:37:59.410: E/AndroidRuntime(1161):     at <br>android.os.Handler.dispatchMessage(Handler.java:102)<br>
11-19 05:37:59.410: E/AndroidRuntime(1161):     at android.os.Looper.loop(Looper.java:136)<br>
11-19 05:37:59.410: E/AndroidRuntime(1161):     at android.app.ActivityThread.main(ActivityThread.java:5017)<br>
11-19 05:37:59.410: E/AndroidRuntime(1161):     at java.lang.reflect.Method.invokeNative(Native <br>Method)
11-19 05:37:59.410: E/AndroidRuntime(1161):     at java.lang.reflect.Method.invoke(Method.java:515)<br>
11-19 05:37:59.410: E/AndroidRuntime(1161):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)<br>
11-19 05:37:59.410: E/AndroidRuntime(1161):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)<br>
11-19 05:37:59.410: E/AndroidRuntime(1161):     at dalvik.system.NativeStart.main(Native Method)<br>
11-19 05:37:59.410: E/AndroidRuntime(1161): Caused by: java.lang.IllegalArgumentException: No view <br>found for id 0x7f0700f2 (com.ftdi.javad2xxdemo:id/details) for fragment <br>DeviceUARTFragment{b1dc0c60 #1 id=0x7f0700f2}
11-19 05:37:59.410: E/AndroidRuntime(1161):     at <br>android.app.FragmentManagerImpl.moveToState(FragmentManager.java:882)<br>
11-19 05:37:59.410: E/AndroidRuntime(1161):     at <br>android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062)<br>
11-19 05:37:59.410: E/AndroidRuntime(1161):     at <br>android.app.BackStackRecord.run(BackStackRecord.java:684)<br>
11-19 05:37:59.410: E/AndroidRuntime(1161):     at <br>android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1447)<br>
11-19 05:37:59.410: E/AndroidRuntime(1161):     at <br>android.app.Activity.performStart(Activity.java:5240)<br>
11-19 05:37:59.410: E/AndroidRuntime(1161):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2168)<br>
11-19 05:37:59.410: E/AndroidRuntime(1161):     ... 11 more

最佳答案

我不确定,但此屏幕上似乎没有id详细信息”(R.id.details)。

您使用R.id.details来替换您的Fragment,但是,看起来,您在这一行中写了错误的id

    ft.replace(R.id.details, f);

您可能对平板电脑使用不同的布局。尝试设置正确的 id。

希望对您有帮助。

关于java - 应用程序在平板电脑上运行,但在智能手机上崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27012537/

相关文章:

java - Debug模式下找不到源

java - 线程已停止但仍在运行(Java)

用于并发映射修改的类似 Java 迭代器的构造

java - Spring 中的 CancellableFormController

java - 无法使用 outputStreamWriter() 将字符串从应用程序发送到 servlet

android - Espresso 自定义 ViewMatcher 不匹配描述未出现在日志中

Android 工作管理器一次性请求从工作人员返回空白结果

android - 如何从接收方的 gcm 获取 messageId

java - startForeground 的错误通知(Call Recorder API 29)

java - ModelAndView对象未返回到jsp