0
我嘗試了不同的方式,通過簡單的int []然後鍵入數組現在我的類型數組給予資源ID爲2130837586.我如何將它轉換爲R.drawable
的形式?如果我試圖用getDrawable
它給出了這樣的:我試圖實現類型數組爲drawables數組
[email protected]
我在logcat中檢查了這些。
Edit-ids.getIndexCount()也爲零。
這是我的代碼。請幫助
GridView gridView = (GridView) findViewById(R.id.grid);
gridView.setAdapter(new ImageAdapter(this, getResources().obtainTypedArray((R.array.image_ids))));
這是我的字符串
<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>
這裏是我的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代碼 –
@SuryaPrakashKushawah更新了我的問題。 –
如果你的ids數組數爲零,你的問題是從資源加載數組... – Nanoc