0

我有一个带有自定义适配器(imageviews)的列表视图,在同一个活动中我有一个页眉和页脚,listView 介于它们之间。

我想要的是添加一个按钮作为列表视图的最后一项,所以当你到达它出现的最后一项时,我不能在外面添加按钮,因为它不会滚动

对不起我的英语

问候

4

2 回答 2

1

使用 ListView.addFooterView() 将视图添加为仅在列表末尾可见的页脚:

http://developer.android.com/reference/android/widget/ListView.html#addFooterView(android.view.View)

于 2013-09-19T11:08:21.887 回答
1

如果您已经实现了自定义适配器类,则解决方案相当简单。基于为包含 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;
    }
}
于 2013-09-19T11:13:31.310 回答