gpt4 book ai didi

android - 如何获取不同资源引用的资源的ID?

转载 作者:行者123 更新时间:2023-12-02 06:35:31 31 4
gpt4 key购买 nike

我想在运行时获取引用资源的ID。例如,这是我的代码:

<string name="d2c_entryroadblock_start_value" translatable="false">@string/get_started</string>

我对 R.string.get_started 的 ID 感兴趣,该 ID 在运行时仅引用 R.string.d2c_entryroadblock_start_value

您还可以在下面的 APK 分析器中查看它的外观 - 我需要获取该 @ref/0x7f1302fc

APK analyzer screenshot

最佳答案

您可以使用 Resources#getValue() 方法获取该值,并为 resolveRefs 参数传递 false 。例如:

TypedValue value = new TypedValue();
getResources().getValue(R.string.alias_name, value, false);
int aliasedId = value.data;

如图所示,别名资源的数字 ID 将位于 TypedValuedata 字段中。如果您确实需要十六进制,可以将其传递给Integer.toHexString()。而且,如果您需要别名资源名称,那么很简单:

String aliasedName = getResources().getResourceEntryName(value.data);

关于android - 如何获取不同资源引用的资源的ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59195776/

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