【发布时间】:2020-04-27 12:25:26
【问题描述】:
我遇到了一个问题,即滚动到第 4 行或超过 2 秒后,我的 GridView “剪辑”/“故障”。
我有 58 个项目,它们通过适配器加载到 GridView 中。一个项目由一个文件名和一个项目的图像(缩略图)组成。每个缩略图的宽度和高度为 100dp,并通过框架“Glide”加载到 ImageButton 中,无需调整大小、裁剪或其他任何内容。简单Glide.load(ressource).into(imageButton)。
请参阅所附图片以了解我的进一步解释。
滚动后,我希望我的项目像之前的前 15-19 个项目一样对齐。不幸的是,它仅从 GridView 滚动第 4 行的“最后一项”。这意味着在第 2 点(图片中的红色数字),如果我滚动浏览它们,所有其他项目都会在短时间内出现。
进一步滚动后,整个 GridView 和 Scrollbar 被“破坏”,只出现少量项目,最后出现 1 个或没有项目。我可以看到,滚动条在滚动后下降得非常快。
GridView xml 属性(在 main_activity.xml 中):
android:columnWidth="100dp"
android:gravity="center"
android:horizontalSpacing="5dp"
android:numColumns="auto_fit"
android:verticalSpacing="20dp"
android:visibility="visible"
GridViewAdapter 代码:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
_layoutInflater = (LayoutInflater) _context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
_view = new View(_context);
_view = _layoutInflater.inflate(R.layout.single_item, null);
TextView textView = _view.findViewById(R.id.textView);
final Item item = _items.get(position);
textView.setText(item.getName());
ImageButton imageButton = _view.findViewById(R.id.imageButton);
Glide.with(_context).load(item.getDrawableRessource()).into(imageButton);
imageButton.setOnClickListener(click -> {
_iOnItemClickListener.onClick(item);
});
}
return _view;
}
感谢您提供任何有用的建议。
【问题讨论】:
标签: android gridview android-gridview