如何禁用ListView页脚弹跳效果

时间:2014-05-27 18:54:57

标签: android listview android-adapter

我有一个ListView底部有一个页脚,ListView项目有一个图像和一个textview。我的问题是,当我将列表快速滚动到底部,即,最后一项显示页脚一段时间后,它会关闭页脚并在底部显示列表的最后一个元素。但每当我慢慢滚动时,就不会像快速滚动那样。它就像一个弹跳效果,在快速滚动时,列表会上升,然后返回显示底部的最后一个项目而不是footerview。 我有两个图像,人们可以从中了解真实场景。

这是第一张我快速滚动列表的图片,起初我看过页脚按钮

enter image description here

这是第二张图片,当滚动结束,页脚按钮向下,最后一个项目占据了它的位置。但是当我滚动缓慢时,这不会发生。所以请帮我解决这个问题。提前谢谢。

enter image description here

这是我的适配器代码

public class customAdapter extends ArrayAdapter<String> {

    Context context;
    Object user;
    ImageDownloader downloader;
    ArrayList<MyCustomAList> list;
    public customAdapter(Context context , int resid , String[] array, Object u, ArrayList<MyCustomAList> list) 
    {
        super(context,resid,array);
        this.context = context;
        this.user = u;
        this.downloader=new ImageDownloader();
        this.list=list;
    }

    @Override
    public View getView(int position, View view, ViewGroup arg2) {

        ViewHolder holder = null;
        LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
        if(view == null)
        {
            view = mInflater.inflate(R.layout.customadapter_layout, null);
            holder = new ViewHolder();
            holder.title =(TextView) view.findViewById(R.id.textview);
            holder.userImage = (ImageView) view.findViewById(R.id.imageView1);
            view.setTag(holder);
        }else
        {
            holder = (ViewHolder) view.getTag();
        }
        holder.title.setText(list.get(position).text);
        downloader.download(list.get(position).url, holder.userImage);
        return view;
    }


    class ViewHolder 
    {
        ImageView userImage;
        TextView title;
    }

}

1 个答案:

答案 0 :(得分:0)

制作Layout ListViewFooter这样的<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <!-- For header portion --> <FrameLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="12dp" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Header" android:layout_gravity="center" android:textAppearance="?android:attr/textAppearanceLarge" /> </FrameLayout> <!-- ListView --> <ListView android:id="@+id/listView1" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" > </ListView> <!-- Footer --> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="Footer Button" /> </LinearLayout> 我觉得它会解决你的问题

{{1}}