我有一个主要布局,其中有一个listview(id是" lv")和textview(id是tv_main)。 listview的行中有textview(id为tv_item)。当我滚动listview时,tv_main应该用第一个listview可见项目的textview替换文本,即tv_item。我做了所有事情,但问题是当我滚动listview然后我再也不能滚动列表视图,直到它停止滚动。我在baseadapter的getView中实现了listview的onscrollListener。任何人都可以告诉我什么时候我错了,我该怎么做才能解决这个问题。我也在发布我的代码。
lv.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView arg0, int scrollState) {
// TODO Auto-generated method stub
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
// TODO Auto-generated method stub
int post = lv.getFirstVisiblePosition();
System.out.println("position item id " + adapter.getItemId(post));
System.out.println("position " + post);
System.out.println("position view " + view.getId());
System.out.println("position total " + totalItemCount);
if (holder.tv_item.getText().equals(arr[post])) {
System.out.println("position matched");
holder.tv_item.setVisibility(View.INVISIBLE);
tv_main.setText(arr[post]);
adapter.notifyDataSetChanged();
}else {
holder.tv_item.setVisibility(View.VISIBLE);
adapter.notifyDataSetChanged();
}
}
});