首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Runnable无法运行

Runnable无法运行
EN

Stack Overflow用户
提问于 2013-10-08 19:53:38
回答 1查看 95关注 0票数 0

我正在尝试检查我的用户何时停止滚动。

为此,我使用以下方法:

代码语言:javascript
复制
commentsLayout.setScrollViewListener(new ScrollViewListener() {

            @Override
            public void onScrollChanged(WallScrollView scrollView, int x, int y,
                    int oldx, int oldy) {
                // TODO Auto-generated method stub

                oldCommentsYDiefference = oldy;
                commentsYDiefference = y;

                             //do something
}

我注意到当用户停止滚动时,oldCommentsYDiefferencecommentsYDiefference之间的差异始终是1。

因此,为了检查我的用户何时停止滚动,我考虑创建一个线程,使用以下代码检查这两个数字的差值是否为1:

代码语言:javascript
复制
public void checkFromScrolling()
    {
        new Thread(new Runnable() {
            @Override
            public void run() {

                Log.i("commentsYDiefference", commentsYDiefference+"");
                Log.i("oldCommentsYDiefference", oldCommentsYDiefference+"");

                if(commentsYDiefference - oldCommentsYDiefference == 1 || oldCommentsYDiefference - commentsYDiefference == 1)
                {

                    if(checkWallScroll)
                        new Handler().postDelayed(new Runnable() {
                        @Override
                        public void run() {

                                         //do things

                            oldCommentsYDiefference = commentsYDiefference;

                            checkWallScroll = true;

                            }
                    }, 2000);

                    checkWallScroll = false;
                }
            }
        }).start();
    }

我在我的onCreate中调用checkFromScrolling()

我的问题是Runnable只运行一次,而不是一直运行。我之所以知道这一点,是因为我的日志报告中只有一个呼叫

代码语言:javascript
复制
Log.i("commentsYDiefference", commentsYDiefference+"");
Log.i("oldCommentsYDiefference", oldCommentsYDiefference+"");

如何让Runnable在活动打开的时候一直运行?

EN

回答 1

Stack Overflow用户

发布于 2013-10-08 19:55:45

您可以添加一个while循环来检查布尔变量(keepRunning)是否为真。然后,在关闭活动之前,必须将其设置为false。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19247004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档