如果AttributeSet是一个接口,那么从xml中读取/存储值的外部(具体)位于何处?即具有存储/检索AttributeSet委托给它的值的具体类是什么?我正在通过源代码进行鹅狩猎,但我仍无法找到魔法发生的地方。谢谢你的帮助,伙计们!
答案 0 :(得分:1)
在此处跳过中间的一些详细信息,但您使用的AttributeSet
通常是从XmlResourceParser
获得的AssetManager
,XmlBlock.Parser
是负责管理包括AAPT在内的Android应用资源的类编译的XML。资产管理器使用XmlBlock.newParser()
创建XmlBlock.Parser
来解析表示XML文件的特定资源块。
XmlResourceParser
实现XmlResourceParser
并调用本机代码来解析AAPT编译的XML。
XmlPullParser
扩展了AttributeSet
和x = [[1,None],[2,4],[1.5,2]] #your list
highest_num = None # assume that 0 can be the highest number in a different situation
for each in x:`# find the highest number
for another in each:
if another > highest_num:
highest_num = another
for each in xrange(len(x)): # find the None and replace it with the highest number
for another in xrange(len(x[each])):
if x[each][another] is None:
x[each][another] = highest_num
。