gpt4 book ai didi

Android 2.1 gridview 不显示

转载 作者:太空狗 更新时间:2023-10-29 16:22:13 24 4
gpt4 key购买 nike

我正在尝试在 GridView 中显示一些图像。我的代码适用于 android 2.2 和 2.3,但不适用于 2.1

在 android 2.1 中,网格始终为空/不可见。

我用于 GridView 的代码是这个:

gridview = (GridView)findViewById(R.id.level_select);
gridview.setAdapter(new LevelImagesAdapter(this, levelsCount,
maxLevel, listener));
gridview.invalidate();

LevelImagesAdapter 是:

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 方法。

谢谢!

最佳答案

您的 getItem(position) 必须返回 NULL 以外的内容

确保 getCount() 返回一个非零数字。

检查并确保您在布局中将 GridView 布局参数设置为 fill_parent 而不是 match_parent 较低的 API 级别不支持 match_parent 所以 fill_parent 是向后兼容的。 GridView 可以隐藏,在这种情况下它不会调用 getView

关于Android 2.1 gridview 不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11598698/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com