Java android listview setOnScrollListener不工作
我正在使用BaseAdapter。我有自定义ArrayList。我已成功地在我的listview中自适应自定义listview 这是我的baseadapter源代码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
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) {
}
});