感谢您的回答。我找到了其他的方法:使用GridView和ImageAdapter类。对于那些有兴趣:
public class ImageAdapter extends BaseAdapter {
private Context mContext;
private int unlocked=10;
public ImageAdapter(Context c) {
mContext = c;
}
public int getCount() {
return 20;
}
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(90, 50));
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
} else {
imageView = (ImageView) convertView;
}
if(position<unlocked){
imageView.setImageResource(R.drawable.gheta_med);
}else{
imageView.setImageResource(R.drawable.gheta_med_lock);
}
return imageView;
}
,并在我的活动
GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new ImageAdapter(this));
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
Log.i("item", ""+arg2);
会发生什么? 'findViewById(id)'返回null,你会在下一行出现NullPointerException? – 2011-12-31 14:13:13