Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android从Integer arraylist获取的值变成了一个数字_Java_Android - Fatal编程技术网

Java Android从Integer arraylist获取的值变成了一个数字

Java Android从Integer arraylist获取的值变成了一个数字,java,android,Java,Android,我是Android新手,从我在这里读到的大部分问题都涉及到Imageview设置图像。我的问题与ImageView错误相同 我创建了一个整数数组列表,因为有些函数需要整数列表而不是字符串列表。基本上就像我创建的大多数函数一样 private ArrayList<Integer> myArrayList = new ArrayList<Integer>(); public void setPicture(Integer datanumber) { if (data

我是Android新手,从我在这里读到的大部分问题都涉及到Imageview设置图像。我的问题与ImageView错误相同 我创建了一个整数数组列表,因为有些函数需要整数列表而不是字符串列表。基本上就像我创建的大多数函数一样

private ArrayList<Integer> myArrayList = new ArrayList<Integer>();

public void setPicture(Integer datanumber)
{
    if (datanumber>=10)
    {
         myArrayList.add(R.drawable.picture);
    }
    else{
        myArrayList.add(R.drawable.picture_gray);
    }
 ///and so on
}
相反,它给了我一个我无法理解的随机数。 我的问题是如何将其返回到默认值(或添加到列表中的值) 感谢您花时间阅读我的问题

使用
String.valueOf(myArrayList.get(0))


而不是
myArrayList.get(0.toString()

它不会给你一个随机数。它为您提供了
R.drawable.picture
的值。
R.*.
中的所有资源都通过数字引用。如果您查看R.java内部,这一点很明显,它显示了如下内容:

public final class R {
    public static final class attr {
    }
    public static final class drawable {
        public static final int help=0x7f020000;
        public static final int ic_action_search=0x7f020001;
        public static final int ic_launcher=0x7f020002;
        public static final int splash1=0x7f020003;
    }
    public static final class id {
        public static final int userName=0x7f070002;
    }
    public static final class layout {
        public static final int splash=0x7f030003;
    }
    public static final class menu {
        public static final int action=0x7f060000;
        public static final int menu=0x7f060001;
    }
    public static final class string {
        public static final int app_name=0x7f040000;
        public static final int create_user=0x7f040004;
        public static final int help=0x7f040001;
        public static final int image=0x7f040002;
        public static final int primarymodtext=0x7f040003;
    }
}
您得到的是int值
R.drawable.picture
。这是因为在向数组列表添加值时,传递的是存储在
R.drawable.picture
中的int值


您仍然可以像使用
R.drawable.picture
一样使用这个整数值。如果我想将图片再次绑定到另一个Imageview,如何使用它?先生,使用toast获取数字,它与我的R上的值不匹配,即2130837535,这是正确的。R文件中的值应为0x7F02001F,十六进制格式为2130837535。如果您想在imageview中使用该图像,只需调用
setImageResource(2130837535)
public final class R {
    public static final class attr {
    }
    public static final class drawable {
        public static final int help=0x7f020000;
        public static final int ic_action_search=0x7f020001;
        public static final int ic_launcher=0x7f020002;
        public static final int splash1=0x7f020003;
    }
    public static final class id {
        public static final int userName=0x7f070002;
    }
    public static final class layout {
        public static final int splash=0x7f030003;
    }
    public static final class menu {
        public static final int action=0x7f060000;
        public static final int menu=0x7f060001;
    }
    public static final class string {
        public static final int app_name=0x7f040000;
        public static final int create_user=0x7f040004;
        public static final int help=0x7f040001;
        public static final int image=0x7f040002;
        public static final int primarymodtext=0x7f040003;
    }
}