0

15 ~ 20 個のフルスクリーン画像があり、それらを listview に 1 つずつ読み込もうとしています。私はそれを行うことができますが、私の問題は、次のアイテムにスクロールしようとすると、次のアイテムにジャンプするようなものであり、下のスクロールがスムーズではないということです。私が間違っていることを提案してください。

mArticleContainer.setOnScrollListener(new OnScrollListener() {

            int i = 0;
            int Pre = 0;
            int NumberOfPages = 0;
            boolean touchstate = false;

            @Override
            public void onScrollStateChanged(AbsListView arg0, int arg1) {

                arg0.setOnTouchListener(new OnTouchListener() {
                    @Override
                    public boolean onTouch(View arg0, MotionEvent ev) {

                        Log.i("MAgazineDetailActivity", "list touch activated");
                        String s = ev.getAction() + "";
                        if (s.equalsIgnoreCase("1")) {
                            touchstate = false;
                            int a = (int) ev.getY();
                            if (Pre > a) {
                                i++;
                                if (i >= NumberOfPages) {
                                    i = NumberOfPages - 1;
                                }
                                Log.e("Message---", "" + i + " Pre---" + Pre);
                                mArticleContainer.setSelection(i);
//                              removeView(i - 1);
                            } else if (Pre < ev.getY()) {
                                // i--;
                                if (i < 0)
                                    i = 0;
                                Log.e("Message", "" + i + " Pre---" + Pre);
//                              removeView(i + 1);
                                mArticleContainer.setSelection(i);
                            } else
                                mArticleContainer.setSelection(i);
                            ev.setAction(MotionEvent.ACTION_CANCEL);
                            return false;

                        } else if (s.equalsIgnoreCase("2")) {
                            if (!touchstate) {
                                Pre = (int) ev.getY();
                                touchstate = true;
                            }
                        } else if (s.equalsIgnoreCase("0")) {

                        }

                        return false;
                    }
                });
            }

            @Override
            public void onScroll(AbsListView arg0, int arg1, int arg2, int arg3) {
                i = arg1;
                NumberOfPages = arg3;
            }
        });

ありがとう..

4

0 に答える 0