For my "memory" game, I'm using a GridView to display 12 cards.
At the beginning, the cards are all the same.
In all the examples I found, you see something similar to this code to add the picture ids to your ImageAdapter:
private Integer[] mThumbIds = {
R.drawable.card_back, R.drawable.card_back,
R.drawable.card_back, R.drawable.card_back,
R.drawable.card_back, R.drawable.card_back,
R.drawable.card_back, R.drawable.card_back,
R.drawable.card_back, R.drawable.card_back,
R.drawable.card_back, R.drawable.card_back
};
Is there a shorter,cleaner, nicer way? something like this:
private Integer[] mThumbIds = new Integer[11];
Arrays.fill(mThumbIds, R.drawable.card_back);
full class:
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import java.util.Arrays;
public class ImageAdapter extends BaseAdapter {
private Context mContext;
public ImageAdapter(Context c) {
mContext = c;
}
public int getCount() {
return mThumbIds.length;
}
public Object getItem(int position) {
return null;
}
public long getItemId(int position) {
return 0;
}
// create a new ImageView for each item referenced by the Adapter
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
// if it's not recycled, initialize some attributes
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(150, 150));
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
imageView.setPadding(8, 8, 8, 8);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(mThumbIds[position]);
return imageView;
}
// references to our images
Integer[] mThumbIds = new Integer[11];
Arrays.fill(mThumbIds, R.drawable.card_back);
/* R.drawable.card_back, R.drawable.card_back,
R.drawable.card_back, R.drawable.card_back,
R.drawable.card_back, R.drawable.card_back,
R.drawable.card_back, R.drawable.card_back,
R.drawable.card_back, R.drawable.card_back,
R.drawable.card_back, R.drawable.card_back
};*/
}