我有一个200图像在资源文件夹我命名为name_1.png
,name_2.png
。我有一个数组,其中有几个数字,如2, 4 , 6 ,30 , 40 ... and so on
。
我想加载到android listview
的图像和文本视图,并根据资源文件夹中的数字显示图像。
为此,我为custom list view
创建了activity class
和image adapter class
。
我能够显示text view
数据,但不能根据数组数据编号显示图像。
谁能给我建议一下怎么做这件事。我在想,我必须写代码在getview
方法改变图像。
这是我尝试的getview
方法
@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView = mInflater.inflate(mViewResourceId, null);
TextView tv1 = (TextView)convertView.findViewById(R.id.tvtype);
TextView tv2 = (TextView)convertView.findViewById(R.id.tvnumber);
ImageView i1= (ImageView)convertView.findViewById(R.id.ivlfirst);
//int i = Integer.parseInt("normal_"+mStrings.get(position)+".png");
i1.setBackgroundResource("normal_"+mStrings.get(position)+".png");
tv1.setText(mStrings1.get(position));
tv2.setText(mStrings.get(position));
return convertView;
}
6条答案
按热度按时间9w11ddsr1#
当你的图像在res文件夹中时,你不能轻易地做到这一点,因为每个资源都是通过一个int id访问的。
你应该考虑把你的图片放到assets文件夹中,你可以像普通文件系统一样访问它。看看资产管理器。
wqlqzqxt2#
如果你想从
assets
中获取图像,可以尝试以下操作:希望有帮助!!
sz81bmfz3#
很简单,只需在**getView()**方法中执行以下操作即可
或者试试这个
或者试试这个
yh2wf1be4#
如果你想使用一个基于名称的可绘制文件夹中的图像(从资源名称中获取资源ID),使用**public int getIdentifier(String name,String defType,String defPackage)**它返回给定资源名称的资源标识符,如:
对于您的特定情况,您可以用途:
20jt8wwn5#
取一个
Integer array
作为R.drawable.imageView1......200
并传递其值Likewrrgggsh6#
如果你需要检索一个文件夹中的所有图像,而这些图像实际上并不需要通过R.drawable调用来访问,正如GAMA所提到的,你可以使用
activity.getAssets
调用,在Kotlin中它会是这样的: