Android平板电脑无法利用sw600dp文件夹中的布局

时间:2018-03-02 16:20:54

标签: android android-layout xamarin xamarin.android

我们的Xamarin Android应用程序会对以下设备上的一些用户造成崩溃:

  • Samsung Chromebook Plus
  • 三星Galaxy Tab E 8

这是NotFoundException崩溃:

  

Xamarin引起的:android.runtime.JavaProxyThrowable:   RPR.Mobile.Shared.ForensicsException:DataFragmentBase - OnCreateView    - 片段RPR.Mobile.Droid.Fragments.Ambient.TabletAmbientCompositeFragment中的layoutResourceId 2130903336的膨胀   错误:Android.Content.Res.Resources + NotFoundException:资源ID

     System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()中的

0x7f030128      

[0x0000c] in:0 at   Java.Interop.JniEnvironment + InstanceMethods.CallObjectMethod   (Java.Interop.JniObjectReference实例,Java.Interop.JniMethodInfo   方法,Java.Interop.JniArgumentValue * args)[0x00069] in   < 0bfa1a9f6d754384ac2bad519852e6f9>:0 at   Java.Interop.JniPeerMembers + JniInstanceMethods.InvokeVirtualObjectMethod   (System.String encodedMember,Java.Interop.IJavaPeerable self,   Java.Interop.JniArgumentValue *参数)[0x0002a] in   < 0bfa1a9f6d754384ac2bad519852e6f9>:0 at   Android.Views.LayoutInflater.Inflate(System.Int32资源,   Android.Views.ViewGroup root,System.Boolean attachToRoot)[0x0005a]   在< 354f190b75174df881c91c689800754e>:0 at   RPR.Mobile.Droid.Fragments.DataFragmentBase`1 [T] .OnCreateView   (Android.Views.LayoutInflater inflater,Android.Views.ViewGroup   容器,Android.OS.Bundle savedInstanceState)[0x00034] in   < 8295e3c148c048c688eef3a452730b7a>:0 ---管理结束   Android.Content.Res.Resources + NotFoundException堆栈跟踪---   android.content.res.Resources $ NotFoundException:资源ID

     位于

的android.content.res.ResourcesImpl.getValue(ResourcesImpl.java:190)的

0x7f030128      

android.content.res.Resources.loadXmlResourceParser(Resources.java:2124)     在android.content.res.Resources.getLayout(Resources.java:1118)at   android.view.LayoutInflater.inflate(LayoutInflater.java:424)at   md5413ac457e5f8728857d33bbead6e898a.DataFragmentBase_1.n_onCreateView(母语   方法)at   md5413ac457e5f8728857d33bbead6e898a.DataFragmentBase_1.onCreateView(DataFragmentBase_1.java:41)

在Resource.designer.cs中匹配该ID,无法找到的资源是:

// aapt resource value: 0x7f030128
public const int TabletHomePropertyList = 2130903336;

此布局文件位于sw600dp和sw600dp-land文件夹中。因此,即使这两种设备都是平板电脑,它们的最短边也不是至少600dp。我无法访问这些设备,如何为它们找出合适的sw * dp值?

更多的是,我的代码检查它是否是平板电脑然后加载这个平板电脑特定的布局来源于检查值-sw600dp中的维度值。

<bool name="is_large_tablet">true</bool>

因此,如果在值-sw600dp中存在维数,那么它只会尝试加载layout-sw600dp布局文件。这应该有用......我哪里出错?

0 个答案:

没有答案