gpt4 book ai didi

java - 为什么在 strings.xml 中反转字符串数组中的声明顺序会改变事情?

转载 作者:搜寻专家 更新时间:2023-11-01 09:02:11 25 4
gpt4 key购买 nike

我的数组在我的 strings.xml 文件中是这样声明的:

<string-array name="metal_array">
<item >Copper</item>
<item >Aluminum</item>
</string-array>
<string-array name="temperature_array">
<item >60C&#x00B0;, 140F&#x00B0;</item>
<item >75C&#x00B0;, 167F&#x00B0;</item>
<item >90C&#x00B0;, 194F&#x00B0;</item>
</string-array>

和在 Activity 的 onCreate() 方法中添加的适配器:

    Spinner metalSpinner = (Spinner) findViewById(R.id.metal_spinner);
ArrayAdapter<CharSequence> metalAdapter = ArrayAdapter.createFromResource(this, R.array.metal_array, android.R.layout.simple_spinner_item);
metalAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
metalSpinner.setAdapter(metalAdapter);

Spinner temperatureSpinner = (Spinner) findViewById(R.id.temperature_spinner);
ArrayAdapter<CharSequence> temperatureAdapter = ArrayAdapter.createFromResource(this, R.array.temperature_array, android.R.layout.simple_spinner_item);
temperatureAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
temperatureSpinner.setAdapter(temperatureAdapter);

在不对 activity.xml 文件进行任何更改的情况下,只需切换两个数组在 strings.xml 文件中声明的顺序即可反转数组放置到哪个微调器中。这对我来说毫无意义,因为所有内容都是按名称引用的。有什么想法吗?

最佳答案

数组 XML 被编译成类文件,在类文件中它们的名称被转换成基于整数的 ID。当您更改顺序时,它们会被重新编译并且元素会获得新的 ID。结果是,任何使用旧 ID 的类文件都会以有趣的方式运行。

关于java - 为什么在 strings.xml 中反转字符串数组中的声明顺序会改变事情?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14289279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com