Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android EditText onTouch事件_Android_Android Edittext_Touch Event - Fatal编程技术网

Android EditText onTouch事件

Android EditText onTouch事件,android,android-edittext,touch-event,Android,Android Edittext,Touch Event,我有一个这样的布局: 父项:RelativeLayout与onTouchListener 子项:EditTextwitch matchRelativeLayout 因此,EditText填充了RelativeLayout。我现在不想在EditText中插入/允许输入。我的目标是启动布局的onTouchListener。但它不会开火。 我尝试了编辑文本的不同选项: setEditable(false)和setFocusable(false) ->好的,没有输入,但也没有onTouch() setO

我有一个这样的布局:

父项:
RelativeLayout
onTouchListener

子项:
EditText
witch match
RelativeLayout

因此,
EditText
填充了
RelativeLayout
。我现在不想在
EditText
中插入/允许输入。我的目标是启动布局的
onTouchListener
。但它不会开火。 我尝试了
编辑文本的不同选项:

  • setEditable(false)
    setFocusable(false)
    ->好的,没有输入,但也没有
    onTouch()

  • setOnTouchListener(新的OnTouchListener){return false})
    ->据我所知,这应该与选项1结合使用。但在
    RelativeLayout
    中仍然没有
    TouchEvent

  • textview
    工作没有问题,但我认为这是因为它们不使用
    onTouch
    order
    onClick
    。我可以做什么使EditView(或拦截touchEvents的视图)不拦截touchEvent

    为什么会这样:我想在用户触摸时移动
    RelativeLayout
    。只要我不把孩子放在和父母匹配的地方,这就行了


    也许有人能帮我。

    如果没有看到一些代码,很难给出一个好的例子。你可以做:

         yourEditText.setEnabled(false);
    
    并在需要时启用它(setEnabled(true);)

    或重写侦听器:

         yourEditText.setOnTouchListener(new OnTouchListener(){
    
                     @override
                     public boolean onTouch(){
    
                     }
           });
    

    不要在touch()上写任何东西。但这意味着,即使您需要,也不会发生任何事情。

    您应该覆盖EditText的onTouchEvent方法并返回false。这对我有用