onFling为一个TextView不工作 [英] onFling for a TextView not working

查看:192
本文介绍了onFling为一个TextView不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想检测onFling事件一个TextView对象。下面的code完美的作品为onDown事件,但它未能获得onScroll或onFling事件。任何指针?

感谢

 包rob.testapp;

进口android.app.Activity;
进口android.os.Bundle;
进口android.view.GestureDetector;
进口android.view.GestureDetector.SimpleOnGestureListener;
进口android.view.MotionEvent;
进口android.view.View;
进口android.widget.TextView;

公共类MainActivity扩展活动
{
    私人GestureDetector myGestDetector;
    私人TextView的mainTextView;

    @覆盖
    公共无效的onCreate(包savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.main);

        myGestDetector =新GestureDetector(这一点,新SimpleOnGestureListener()
        {
            @覆盖
            公共布尔onScroll(MotionEvent E1,E2 MotionEvent,浮velocityX,浮动velocityY)
            {
                mainTextView.setText(刚scroll'n);
                返回false;
            }

            @覆盖
            公共布尔onDown(MotionEvent E1)
            {
                mainTextView.setText(下来);
                返回false;
            }

            @覆盖
            公共布尔onFling(MotionEvent E1,E2 MotionEvent,浮velocityX,浮动velocityY)
            {
                mainTextView.setText(上一扔);
                返回false;
            }
        });

        mainTextView =(TextView中)findViewById(R.id.MainText);
        mainTextView.setText(启动应用程序......);
        mainTextView.setOnTouchListener(新View.OnTouchListener()
        {
            @覆盖
            公共布尔onTouch(视图V,MotionEvent事件)
            {
                myGestDetector.onTouchEvent(事件);
                返回false;
            }
        });
    }
}
 

布局仅仅是一个的LinearLayout里面一个TextView。

解决方案

 公共布尔onTouch(视图V,MotionEvent事件)
    {
        myGestDetector.onTouchEvent(事件);
        返回false;
    }
 

我想你应该在这里返回true。您可以通过返回false视图拒绝指针向下事件,并没有收到,因为这以后的任何事件。

I'm trying to detect an onFling event for a TextView object. The code below works perfectly for the onDown event, however it fails to get the onScroll or onFling events. Any pointers?

Thanks

package rob.testapp;

import android.app.Activity;
import android.os.Bundle;
import android.view.GestureDetector;
import android.view.GestureDetector.SimpleOnGestureListener;
import android.view.MotionEvent;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends Activity
{
    private GestureDetector myGestDetector;
    private TextView mainTextView;

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        myGestDetector = new GestureDetector(this, new SimpleOnGestureListener()
        {
            @Override
            public boolean onScroll(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
            {
                mainTextView.setText("just scroll'n");
                return false;
            }

            @Override
            public boolean onDown(MotionEvent e1)
            {
                mainTextView.setText("on down");
                return false;
            }

            @Override
            public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
            {
                mainTextView.setText("on fling");
                return false;
            }
        });

        mainTextView = (TextView)findViewById(R.id.MainText);
        mainTextView.setText("Starting app...");
        mainTextView.setOnTouchListener(new View.OnTouchListener()
        {
            @Override
            public boolean onTouch(View v, MotionEvent event)
            {
                myGestDetector.onTouchEvent(event);
                return false;
            }
        });
    }
}

The layout is just a TextView inside a LinearLayout.

解决方案

    public boolean onTouch(View v, MotionEvent event)
    {
        myGestDetector.onTouchEvent(event);
        return false;
    }

I think you should return true here. You view rejects pointer down event by returning false and don't receive any subsequent events because of this.

这篇关于onFling为一个TextView不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆