リストビュー(idは「lv」)とテキストビュー(idはtv_main)があるメインレイアウトがあります。listview の行には textview (id is tv_item) があります。リストビューをスクロールすると、tv_main はテキストを最初のリストビュー表示項目のテキストビューである tv_item に置き換える必要があります。私はすべてをやりましたが、リストビューをスクロールすると、スクロールが止まるまでリストビューを再度スクロールできないという問題があります。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();
}
}
});