android – TypedArray.getInteger()和TypedArray.getInt()之间有什么区别?

android – TypedArray.getInteger()和TypedArray.getInt()之间有什么区别?,第1张

概述看看TypedArray( link)的源代码,我似乎无法弄清楚这两种方法之间的区别是什么. getInt()与getInteger()基本相同,但最后添加了一小部分,我不明白.有人可以向我解释一下吗? 我需要知道区别的原因是我正在实现一个自定义的Preference子类,并获取我需要覆盖onGetDefaultValue()的默认值,它从TypedArray中获取一个整数.例: @Overrid 看看TypedArray( link)的源代码,我似乎无法弄清楚这两种方法之间的区别是什么. getInt()与getInteger()基本相同,但最后添加了一小部分,我不明白.有人可以向我解释一下吗?

我需要知道区别的原因是我正在实现一个自定义的Preference子类,并获取我需要覆盖onGetDefaultValue()的默认值,它从TypedArray中获取一个整数.例:

@OverrIDeprotected Object onGetDefaultValue(TypedArray a,int index){    return a.getInteger(index,DEFAulT_VALUE);}

这里我使用getInteger(),但如果getInt()更好,那么我将使用它.

解决方法 他们只是有不同的“所有其他失败”案件.它们都为有效的int返回一个int,为null返回defValue.区别在于他们如何处理这两者的情况.

从link:

/* * copyright (C) 2008 The AndroID Open Source Project * * licensed under the Apache license,Version 2.0 (the "license"); * you may not use this file except in compliance with the license. * You may obtain a copy of the license at * *      http://www.apache.org/licenses/liCENSE-2.0 * * Unless required by applicable law or agreed to in writing,software * distributed under the license is distributed on an "AS IS" BASIS,* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,either express or implIEd. * See the license for the specific language governing permissions and * limitations under the license. */TypedValue v = mValue;if (getValueAt(index,v)) {    Log.w(Resources.TAG,"Converting to int: " + v);    return XmlUtils.convertValuetoInt(        v.coercetoString(),defValue);}Log.w(Resources.TAG,"getInt of bad type: 0x"      + Integer.toHexString(type));return defValue;

这是你指的额外.它似乎是将未知值转换为字符串然后转换为整数.如果您存储了“12”或某个等效值,这可能很有用.

另外,如果getInteger不为null而不是int,则抛出异常.相反,如果所有其他方法都失败,则getInt将返回默认值.

还要注意,在这种奇怪的情况下,它们的行为是不同的,在每种情况下调用一个优于另一个的行为都是不正确的.最好的解决方案是符合您对失败的期望.

总结

以上是内存溢出为你收集整理的android – TypedArray.getInteger()和TypedArray.getInt()之间有什么区别?全部内容,希望文章能够帮你解决android – TypedArray.getInteger()和TypedArray.getInt()之间有什么区别?所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存