没有"单击时"事件 handler 中存在 Android studio吗?

发布时间: 2016/9/16 17:43:11
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我想要调用一个函数,而该用户按 button ,作为一个无限循环,只要 button 按下,然后休息一次用户释放 button 。我可以说我在寻找一个按钮时单击事件handler

我敢肯定这种事件 handler 也许大多数 Ide 中存在。 我要如何接近,在 Android studio?

高度赞赏为此示例任务提供的示例︰

而单击︰

    // Button Clicking
    int i = 0;
    Btn.setOnClickListener(
            new Button.OnClickListener() {
                public void onClick(View v) {
                    TextOne.setText("Clicking" + i++);
                }//onClick
            }//onClickListener
    );//setOnClickListener

当发布︰

    // Button Released
    Btn.setOnClickListener(
            new Button.OnClickListener() {
                public void onClick(View v) {
                    TextOne.setText("Released");
                }//onClick
            }//onClickListener
    );//setOnClickListener

..

编辑︰ 解决方案似乎是 OnTouchListener() 事件 handler 又要导入 android.view.MotionEvent; 若要使用它。

解决方法 1:

您正在寻找 onTouchListener-

button.setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if (event.getAction() == MotionEvent.ACTION_DOWN) {
                    //Button pressed  
                    TextOne.setText("Clicking");       
                    return true;
                } 
                else if (event.getAction() == MotionEvent.ACTION_UP) {
                    //Button released
                    TextOne.setText("Released");
                    return true;
                 }
                return false;
            }
        });

在用户接触时,会生成 MotionEvent.ACTION_DOWN button 和 MotionEvent.ACTION_UP 生成时在用户删除他 touchbutton

官方微信
官方QQ群
31647020