我正在尝试用 填充 a ViewFlipper
,GridView
但具有分页功能而不是滚动。将GridView
填写一个“页面”(没有滚动的完整页面),并开始用ViewFlipper
数据集的下一位填写下一个视图。
我需要动态填充页面,因为屏幕尺寸会有所不同。这GridView
运动了一个带有getView()
覆盖的自定义适配器类,所以我认为最优雅的解决方案是在 中正常绘制视图GridView
,但这是我遇到一些困惑的地方:
两件事情:
我如何告诉getView()
函数将GridView
项目写入下View
一个ViewFlipper
?通过这个令牌,我怎么知道屏幕何时填充到滚动条弹出之前(我不想要可滚动列表,这是使用 a 的全部要点ViewFlipper
)。
或者有没有更好的解决方案,我只是还没有找到?除了这个,我在 API 演示中找不到示例,并且在 stackoverflow 上几乎没有信息,这让我开始了,但我仍然需要上述两个建议才能使这个解决方案工作(除非有更好的东西):Android ViewFlipper not flipping
GridView 适配器:
// custom adapter made for the GridView
public class ButtonAdapter extends BaseAdapter {
private Context mContext;
private List<Map<String, String>> mData;
private int mLayout;
public ButtonAdapter(Context c, int layout, List<Map<String, String>> list) {
this.mContext = c;
this.mData = list;
this.mLayout=layout;
}
public int getCount() {
return mData.size();
}
public Object getItem(int position) {
return mData.get(position);
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
Button btn = null;
if(convertView==null) {
convertView = inflater.inflate(this.mLayout, null);
}
btn = (Button)convertView.findViewById(R.id.grid_btn);
if(btn != null) {
//btn.setPadding(8,8,8,8);
btn.setText(mData.get(position).get("label"));
btn.setId(position);
}
return convertView;
}
}