我有一个带有自定义适配器(imageviews)的列表视图,在同一个活动中我有一个页眉和页脚,listView 介于它们之间。
我想要的是添加一个按钮作为列表视图的最后一项,所以当你到达它出现的最后一项时,我不能在外面添加按钮,因为它不会滚动
对不起我的英语
问候
我有一个带有自定义适配器(imageviews)的列表视图,在同一个活动中我有一个页眉和页脚,listView 介于它们之间。
我想要的是添加一个按钮作为列表视图的最后一项,所以当你到达它出现的最后一项时,我不能在外面添加按钮,因为它不会滚动
对不起我的英语
问候
使用 ListView.addFooterView() 将视图添加为仅在列表末尾可见的页脚:
http://developer.android.com/reference/android/widget/ListView.html#addFooterView(android.view.View)
如果您已经实现了自定义适配器类,则解决方案相当简单。基于为包含 Button 和 ImageView 的列表视图行实现的 xml 布局,您可以根据索引在适配器的 getView() 方法中隐藏/显示它们。这是一个代码示例,我目前没有机会测试它,可能不是最有效的解决方案,但它应该给你一个想法:
class CustomAdapter extends SimpleAdapter {
[...]
@Override
public int getCount() {
// number of images to be displayed + 1 for the button
return images.length + 1;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View row = inflater.inflate(R.layout.row, parent, false);
final ImageView imageView = (ImageView) row.findViewById(R.id.image);
final Button button = (Button) row.findViewById(R.id.button);
if (position == getCount() - 1) {
// The last element
imageView.setVisibility(View.GONE);
// set an OnClickListener on the button or whatever...
} else {
button.setVisibility(View.GONE);
// do your regular ImageView handling...
}
return row;
}
}