Java android listview setOnScrollListener不工作

Java android listview setOnScrollListener不工作,java,android,android-listview,android-scrollview,Java,Android,Android Listview,Android Scrollview,我正在使用BaseAdapter。我有自定义ArrayList。我已成功地在我的listview中自适应自定义listview 这是我的baseadapter源代码 public class TransactionAdapter extends BaseAdapter { private Context context; private List<Transaction> transactionList; public TransactionAdapter(Context con

我正在使用BaseAdapter。我有自定义ArrayList。我已成功地在我的listview中自适应自定义listview 这是我的baseadapter源代码

public class TransactionAdapter extends BaseAdapter {
private Context context;
private  List<Transaction> transactionList;

public TransactionAdapter(Context context, List<Transaction> values) {

    this.context=context;
    this.transactionList=values;
}

@Override
public int getCount() {
    return transactionList.size();
}

@Override
public Object getItem(int position) {
    return transactionList.get(position);
}

@Override
public long getItemId(int position) {
    return 0;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    View v = LayoutInflater.from(context).inflate(R.layout.view_transaction_item, parent, false);

    Transaction transaction = transactionList.get(position);


    if (transaction != null) {
        final TextView transactionName=(TextView)v.findViewById(R.id.u_transaction_name);
        transaction.setAmount(transaction.getAmount().replace("-", ""));
        transactionName.setText(transaction.getName());
        ((TextView) v.findViewById(R.id.u_transaction_status)).setText(transaction.getStatus());

        ((TextView) v.findViewById(R.id.u_transaction_ago)).setText(transaction.getPassedTime());
        TextView date = (TextView) v.findViewById(R.id.u_transaction_date);
        date.setText(UniPAYDateUtils.formatToDayMonthInWordAndYear(transaction.getDate()));

    }
    return v;
}
我的setOnScrollListener方法有什么问题?如果有人知道答案,请帮助我
谢谢大家

将您的滚动侦听器更新为:

customListview.setOnScrollListener(new AbsListView.OnScrollListener() { 
    private int visibleThreshold = 5;
    private int currentPage = 0;
    private int previousTotal = 0;
    private boolean loading = true;

 @Override
    public void onScroll(AbsListView view, int firstVisibleItem,
            int visibleItemCount, int totalItemCount) {
        if (loading) {
            if (totalItemCount > previousTotal) {
                loading = false;
                previousTotal = totalItemCount;
                currentPage++;
            }
        }
        if (!loading && (totalItemCount - visibleItemCount) <= (firstVisibleItem + visibleThreshold)) {
            // load more items
             loading = true;
        }
    }

    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) {
    }

    }); 
customListview.setOnScrollListener(新的AbsListView.OnScrollListener(){
私有int visibleThreshold=5;
private int currentPage=0;
private int previousTotal=0;
私有布尔加载=真;
@凌驾
public void onScroll(AbsListView视图,int firstVisibleItem,
int visibleItemCount,int totalItemCount){
如果(装载){
如果(totalItemCount>previousTotal){
加载=假;
previousTotal=totalItemCount;
currentPage++;
}
}

如果(!loading&&(totalItemCount-VisibleTimeCount)将滚动侦听器更新为:

customListview.setOnScrollListener(new AbsListView.OnScrollListener() { 
    private int visibleThreshold = 5;
    private int currentPage = 0;
    private int previousTotal = 0;
    private boolean loading = true;

 @Override
    public void onScroll(AbsListView view, int firstVisibleItem,
            int visibleItemCount, int totalItemCount) {
        if (loading) {
            if (totalItemCount > previousTotal) {
                loading = false;
                previousTotal = totalItemCount;
                currentPage++;
            }
        }
        if (!loading && (totalItemCount - visibleItemCount) <= (firstVisibleItem + visibleThreshold)) {
            // load more items
             loading = true;
        }
    }

    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) {
    }

    }); 
customListview.setOnScrollListener(新的AbsListView.OnScrollListener(){
私有int visibleThreshold=5;
private int currentPage=0;
private int previousTotal=0;
私有布尔加载=真;
@凌驾
public void onScroll(AbsListView视图,int firstVisibleItem,
int visibleItemCount,int totalItemCount){
如果(装载){
如果(totalItemCount>previousTotal){
加载=假;
previousTotal=totalItemCount;
currentPage++;
}
}

如果(!loading&&(totalItemCount-VisibleTItemCount)你到底有什么问题?你想得到这个位置吗?或者你没有调用onScroll方法?也许它可以工作,但它不能到达这一行
Log.e(“taggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg”,“可见加载更多”);
:@hoomi我想最后查看滚动position@donoachua通过“滚动最后一个位置”是指列出最后一个位置?还是列出最后一个可见位置?
lastLiewVisiblePosition
将是
firstVisibleItem+visibleItemCount
。你到底有什么问题?你想得到这个位置吗?还是你的onScroll方法没有被调用?也许它可以工作,但无法到达这一行
Log.e(“tagggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggposition@donoachua“滚动最后一个位置”是指列出最后一个位置还是列出最后一个可见位置?
lastLiewVisiblePosition
将是
firstVisibleItem+visibleItemCount
customListview.setOnScrollListener(new AbsListView.OnScrollListener() { 
    private int visibleThreshold = 5;
    private int currentPage = 0;
    private int previousTotal = 0;
    private boolean loading = true;

 @Override
    public void onScroll(AbsListView view, int firstVisibleItem,
            int visibleItemCount, int totalItemCount) {
        if (loading) {
            if (totalItemCount > previousTotal) {
                loading = false;
                previousTotal = totalItemCount;
                currentPage++;
            }
        }
        if (!loading && (totalItemCount - visibleItemCount) <= (firstVisibleItem + visibleThreshold)) {
            // load more items
             loading = true;
        }
    }

    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) {
    }

    });