版本配置无法正常运行的Android版面

版本配置无法正常运行的Android版面,第1张

概述我在res / layout-v19中有一个布局,activity_read为: <FrameLayout ...>...<include layout="@layout/main_toolbar" /><View android:id="@+id/read_view" android:layout_width="100dp" android:layout_heig 我在res / layout-v19中有一个布局,activity_read为:

<FrameLayout ...>...<include layout="@layout/main_toolbar" /><VIEw    androID:ID="@+ID/read_vIEw"    androID:layout_wIDth="100dp"    androID:layout_height="100dp"    androID:background="#f00"    androID:tag="V19"    />...

我在res / layout中有另一个activity_read:

<relativeLayout ...>...<include layout="@layout/main_toolbar" /><VIEw    androID:ID="@+ID/read_vIEw"    androID:layout_wIDth="100dp"    androID:layout_height="100dp"    androID:background="#f00"    androID:tag="V1"    />...

我正在尝试在Activity中加载activity_read布局:

protected voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.activity_read);    VIEw read = findVIEwByID(R.ID.read_vIEw);    Log.v(TAG,"SDK: " + read.getTag()); //Prints SDK: V1}

我在Lollipop模拟器上运行此示例,因此对于基于平台版本的资源的documentation says,它应该选择res / layout-v19中的布局.
但是,始终会加载res / layout中的activity_read布局,如“SDK:V1”日志所示.

我也试过看看我是否可以根据平台级别加载其他资源,即值/数字中的整数:

<integer name="test_num">1</integer>

和值-v19 /数字:

<integer name="test_num">19</integer>

哪个工作正常:

Log.v(TAG,"NUMBER: " + getResources().getInteger(R.integer.test_num)); //Prints NUMBER: 19

我也尝试将它移动到res / layout-v21,它实际上工作,但它应该适用于layout-v1到layout-v21以及文档.

我浪费了相当多的时间来研究这个问题,文档是错误的还是我错过了什么?

提前致谢.

解决方法 我有同样的问题 – 我创建了一个版本的v19版本,但在Lollipop上它加载了非v19版本.所以我在代码中进行了API检查,并在那里夸大了正确的布局:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {        v = inflator.inflate(R.layout.item_showdetail_asset_kitkat,this);    } else {        v = inflator.inflate(R.layout.item_showdetail_asset,this);    }

不是理想的解决方案,但它有效……

所以对于你问题中的onCreate(),它看起来像这样:

protected voID onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {        setContentVIEw(R.layout.activity_read_kitkatversion);   }else{        setContentVIEw(R.layout.activity_read);   }   VIEw read = findVIEwByID(R.ID.read_vIEw);   Log.v(TAG,"SDK: " + read.getTag());}
总结

以上是内存溢出为你收集整理的版本配置无法正常运行的Android版面全部内容,希望文章能够帮你解决版本配置无法正常运行的Android版面所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1125352.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存