不显示的Android 2.1的GridView [英] Android 2.1 gridview not displayed
问题描述
我想在网格视图中显示一些图像。我的code适用于Android的2.2和2.3,而不是2.1
I'm trying to display some images in a grid view. My code works for android 2.2 and 2.3, but not in 2.1
在Android 2.1的网格总是空的/不可见。
In android 2.1 the grid is always empty/invisible.
在code我用网格视图这是其一:
The code I use for the grid view is this one:
gridview = (GridView)findViewById(R.id.level_select);
gridview.setAdapter(new LevelImagesAdapter(this, levelsCount,
maxLevel, listener));
gridview.invalidate();
该LevelImagesAdapter是:
The LevelImagesAdapter is:
public class LevelImagesAdapter extends BaseAdapter {
private View.OnClickListener listener;
private Context mContext;
private int count;
private int maxLevel;
public LevelImagesAdapter(Context c, int maxLevel, int count, View.OnClickListener listener) {
this.mContext = c;
this.listener = listener;
this.count = count;
this.maxLevel = maxLevel;
}
@Override
public int getCount() {
return count;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Button view;
if (convertView == null) {
view = new Button(mContext);
view.setOnClickListener(listener);
view.setLayoutParams(new GridView.LayoutParams(GridView.LayoutParams.WRAP_CONTENT, GridView.LayoutParams.WRAP_CONTENT));
view.setPadding(5, 5, 5,5);
}
else {
view = (Button) convertView;
}
if (position <= maxLevel) {
view.setBackgroundResource(R.drawable.level_unlock);
view.setText((position + 1) + "");
view.setTextColor(Color.WHITE);
view.setTextSize(16.0f);
}
else {
view.setBackgroundResource(R.drawable.level_lock);
view.setText("");
}
return view;
}
}
据我所知,该适配器被创建,但getView方法不会被调用。
As far as I can tell, the adapter is created, but the getView method is never called.
谢谢!
推荐答案
您的getItem(位置)
必须返回比其他东西 NULL
Your getItem(position)
must return something other than NULL
确认 getCount将()
返回一个非零数字。
Make sure getCount()
is returning a non-zero number.
检查并确保你有你的GridView布局参数在布局设置为 FILL_PARENT
,而不是 match_parent
下API级别不支持 match_parent
所以 FILL_PARENT
是向后兼容。在GridView可以被隐藏,它不会在这种情况下,调用 getView
。
Check and make sure you have your GridView layout parameters set to fill_parent
in your layout and not match_parent
Lower API levels don't support match_parent
so fill_parent
is backwardly compatible. The GridView could be hidden and it won't call getView
in that case.
这篇关于不显示的Android 2.1的GridView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!