如何从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