gpt4 book ai didi

java - 根据选定的MenuItem资源ID加载字符串资源 - Android JAVA

转载 作者:行者123 更新时间:2023-12-02 00:04:55 26 4
gpt4 key购买 nike

我正在编写我的第一个 Android 应用程序。它将有数百个菜单链接,这些链接将随着每个版本的发布而变化。我正在寻找一种根据资源 ID 处理 onclick 的方法。

菜单在 XML 中定义如下:

<item android:id="@+id/Spring_2013" android:title="Spring 2013" android:showAsAction="ifRoom|withText" />

onclicks 将加载存储在 strings.xml 中的 URL:

<string name="Summer_2013">file:///android_asset/catalog/current/genadmissionreq.html</string>

所以,看起来我需要的只是一个简单的、单一的 onclick 方法,该方法可以根据所选的资源 ID 加载所需的任何字符串。 MenuItem ID 始终等于我的代码中的 URL 字符串 ID。因此,在不使用数百个 if() 或 switch/case 语句的情况下,我不能直接说:

String url = getString("R.string." + menuItem.getItemId());

显然,由于多种原因,该分配不会起作用。但你的想法正确吗?那么,我怎样才能做到这一点呢?

对于新问题我很抱歉。我知道它应该很简单,但我已经读了好几天了,找不到任何方法来做到这一点,而不需要每个菜单项的 if() 语句。这种方法会让每周的更新变成一场噩梦!

最佳答案

尝试使用getIdentifier()

String title = menuItem.getTitle().toString().replace(' ', '_');
id = getResources().getIdentifier(title, "string", getPackageName());
String string = getString(id);

第一行获取 Spring 2013 并将其转换为 Spring_2013
第二行使用任何标题构建 "R.string.",在本例中为 "R.string.Spring_2013"
第三行只是获取 String 资源。

关于java - 根据选定的MenuItem资源ID加载字符串资源 - Android JAVA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14076484/

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