【问题标题】:Why is it possible to write a boolean array to a parcel but not a boolean?为什么可以将布尔数组写入包裹但不能写入布尔值?
【发布时间】:2011-12-31 13:43:17
【问题描述】:

在 Parcel 的文档中,它声明一个方法存在

public final void writeBooleanArray (boolean[] val) 

但是writeBoolean(boolean val)没有办法

还有:

public final void writeLong (long val)

public final void writeLongArray (long[] val)

因此类似的模式也适用于其他原始类型。

有人能解释这是为什么吗?

【问题讨论】:

  • 非常好的问题。我对这个结果也很感兴趣。
  • 我每次读取布尔值时都会问这个问题,而不是 1 行。=(

标签: java android android-activity ipc parcelable


【解决方案1】:

有一个关于它的开放错误报告:

http://code.google.com/p/android/issues/detail?id=5973

显然其他人同意您的评估(我也同意)。

【讨论】:

  • 您认为这已成为近 2 年的未决问题这一事实反映了 google 在解决 android 错误方面的某个缺点,因为它看起来如此基本和简单,或者您认为可能存在一些隐藏的架构问题
  • 至少他们可以添加一个实现 writeInt(myBool ? 1 : 0) 和 back 解决方法的外观......仅此一点就告诉我没有架构障碍。
  • 本着开源精神,强烈建议你提交补丁:) source.android.com/source/index.html
【解决方案2】:

完全没有理由,对我来说似乎只是想念。 :-) 如果需要,写一个布尔值[1]。

bug 5973

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多