0

リストビュー(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();
                    }



                }
            });
4

0 に答える 0