0
için typedarray uygulamaya çalışıyorum Basit int [] sonra Typed dizi aracılığıyla farklı yolları denedim şimdi Typed dizim 2130837586 olarak kaynak kimliği veriyor. Nasıl R.drawable
şeklinde dönüştürebilirim? Ben getDrawable
kullanmaya çalıştı Ve eğer bu verir: Çizgiler dizisi
[email protected]
ben LogCat bu kontrol etti.
Düzenleme - ids.getIndexCount() da sıfırdır.
Bu benim kodum. Bu benim dize İşte
<array name="image_ids">
<item>@drawable/one</item>
<item>@drawable/two</item>
<item>@drawable/three</item>
<item>@drawable/four</item>
<item>@drawable/five</item>
<item>@drawable/six</item>
<item>@drawable/seven</item>
<item>@drawable/eight</item>
<item>@drawable/nine</item>
<item>@drawable/ten</item>
<item>@drawable/eleven</item>
<item>@drawable/twelve</item>
</array>
olduğunu
GridView gridView = (GridView) findViewById(R.id.grid);
gridView.setAdapter(new ImageAdapter(this, getResources().obtainTypedArray((R.array.image_ids))));
Lütfen Yardım
imgIcon.setImageResource (kimlikleri [konumu]) bu kodu değiştirin benim ImageAdapter
public class ImageAdapter extends BaseAdapter {
private Context mContext;
TypedArray ids;
public ImageAdapter(Context con,TypedArray rids){
mContext = con;
ids = rids;
Log.d("Check this out,",""+ids.getDrawable(0));
}
@Override
public int getCount() {
return ids.getIndexCount();
}
@Override
public Object getItem(int position) {
return ids.getDrawable(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(180, 180));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(8, 8, 8, 8);
}
else
{
imageView = (ImageView) convertView;
}
imageView.setBackgroundResource(ids.getResourceId(position,-1));
return imageView;
}
}
ImageAdapter kodunu paylaşın –
@SuryaPrakashKushawah Sorumu güncelledim. –
Eğer ids array sayınız sıfır ise, probleminiz diziyi kaynaklardan yüklemektir ... – Nanoc