当前位置: 首页 > 面试题库 >

java android getResources()。getIdentifier()

赵驰
2023-03-14
问题内容

如何从R.获取ID的int id值?当我使用getIdentifier它的正好回报0

 int i = getArguments().getInt(SELECTION_NUMBER);
 String drawerSelection = getResources().getStringArray(R.array.drawerSelection_array)[i];

int panelId = this.getResources().getIdentifier(drawerSelection.toLowerCase(),"id",getActivity().getPackageName());

编辑

Xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ListView
    android:id="@+id/Bus_Schedules"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
</ListView>

</LinearLayout>

日志

06-10 21:24:30.372: I/System.out(3572): Selection = Bus_Schedules
06-10 21:24:30.372: I/System.out(3572): panelId = 0

R.java

    public static final class id {
    public static final int Bus_Schedules=0x7f090004;
    public static final int basemenu=0x7f090005;
    public static final int content_frame=0x7f090001;
    public static final int drawer_layout=0x7f090000;
    public static final int left_drawer=0x7f090002;

问题答案:

问题似乎是您要转换drawerSelection为小写字母。在R.java文件中很明显,标识符的大小写得以保留。尝试致电:

int panelId = this.getResources().getIdentifier(drawerSelection,"id",getActivity().getPackageName());


 类似资料:
  • 问题内容: 我已经试过了: 还有这个: 但是“ r”总是以零结尾。 我是在不是Activity且没有扩展任何内容的帮助器类中调用此行的,所以我不能简单地调用,但可以从我的传递它。 最终,我想用一个变量替换,但首先是第一件事。这不起作用。 确实是我的包裹名称。是它所在的文件夹,并且文件名的确是。 R.java说: 所以我不确定为什么它不起作用。 所以我不能使用资源,我必须传递一个上下文,并且我这样做

  • 本文向大家介绍Android使用getIdentifier()获取资源Id的方法,包括了Android使用getIdentifier()获取资源Id的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android使用getIdentifier()获取资源Id的方法。分享给大家供大家参考,具体如下: 或者: 结果: R$layout 0: main=2130903040 R$layout

相关阅读

相关文章

相关问答