Android GridView滚动循环

时间:2016-08-10 08:35:48

标签: java android loops gridview scroll

我正在使用gridview加载数据,我设置当它滚动到底部开始加载更多数据。问题是网格自己进入循环,因为第一次加载第一个数据或第二次加入网格时。网格将其检测为“底部”并重新开始...... 我试图添加一个bool来检测它何时是第一次,但第二次总是开始循环。

这是我的滚动码:

"data": {
      "address": {
        "postalCode": "112629",
        "state": "DL",
        "city": "new city",
        "streetAddress": "my street"
      },
     "specialities": [
        {
          "_id": "577692f7",
          "name": "Football",
          "description": "game",
          "__v": 0
        }
      ]
    }

谢谢!

1 个答案:

答案 0 :(得分:0)

在onScrollStateChanged中,您可以检测用户是否已滚动。有了这些信息,您可以防止您遇到的问题。这是一个例子:

        static boolean userScrolled = false;

        androidGridView.setOnScrollListener(new AbsListView.OnScrollListener(){
            @Override
            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount)
            {
                if(userScrolled == true && (firstVisibleItem + visibleItemCount >= totalItemCount)){
                    EditText rl1 = (EditText) findViewById(R.id.editText);
                    new SearchTask().execute(rl1.getText().toString());
                }
            }

            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState){
                if(scrollState == OnScrollListener.SCROLL_STATE_TOUCH_SCROLL){
                    userScrolled = true;
                }   
            }
        });