如何根据我的选择从android studio中的drawable文件夹访问图像?

时间:2017-03-02 17:11:27

标签: android image drawable choice

假设我有一个项目列表,如String [] list = {" item1"," item2"," item3",....,& #34; itemN"};我有相应的图像,每个项目有不同的格式(一些在jpg,一些在png等)和不同的名称串行(作为列表数组的索引)在drawable文件夹中。我必须对列表数组进行一些处理。每次它返回一些特定的&列表的不同索引。 因此,我必须在android studio中显示由返回索引指示的那些项目的相应图像作为列表视图。我怎样才能做到这一点。 例如,如果在处理后我有索引号:{3,7,1},我必须显示存储在drawable文件夹中的item3,item7和item1的相应no图像作为listView.Again,指示的索引值可能会根据处理而改变在上面。 有人可以帮忙吗???

编辑:

实际上我希望here in the picture显示图像和文字的顺序不会按照'位置'而是根据我的选择,就像在listview的第一行位置一样将具有item3的图像,在行位置2 - >项目7的图像,在行位置3 - >第1项的图像。

3 个答案:

答案 0 :(得分:0)

将图像的R值存储在整数数组中,您可以根据该数组中的索引进行发布

int _rImage[] ={R.drawable.img1,R.drawable.img2}

答案 1 :(得分:0)

如果您想按名称使用ResourceId,请尝试使用

int drawableResourceId = this.getResources().getIdentifier("nameOfDrawable", "drawable", this.getPackageName());

请参阅How to get a resource id with a known resource name?

答案 2 :(得分:0)

在List Array处理类中,定义一个包含对图像的引用的Int数组:

gl_Position = vec4(pos+gl_InstanceID*0.25, 1);

现在考虑处理后只返回三个索引: 例如:     indices [] = {1,5,6};     int imageArray [] - (大小可以是三个)

int imageRes[] = {R.drawable.image1, R.drawable.image2,...};

您的ListView可以包含一个图像视图。为列表视图创建自定义适配器,并将imageArray作为参数传递。

然后你可以像这样设置ImageView的Image:

for(int i =0; i<3;i++){
imageArray[i] = imageRes[indices[i]];
}