索尼智能手表2:如何防止CLICK_TYPE_SHORT从按钮后,长按被称为?(Sony Smart

2019-10-19 15:40发布

我使用索尼的SmartWatch 2 ControlExtension,我有一个点击处理程序:

@Override
public void onObjectClick(final ControlObjectClickEvent event) {
    switch (event.getClickType())
    {
        case Control.Intents.CLICK_TYPE_LONG:
        Log.i("onObjectClick", "long press");
        break;

        case Control.Intents.CLICK_TYPE_SHORT:
        Log.i("onObjectClick", "press");
        break;
    }
}

当我按一下按钮,我得到press在我的logcat的预期。
当我按住按钮,我得到long press (就像我想它)。
但是,当我长按后松开按钮,我得到press一次。

我怎样才能改变这种行为?

Answer 1:

您是否尝试过处理一个长按这样吗?

ControlView upperLeft = mLayout.findViewById(R.id.sample_control_object_1);
upperLeft.setOnLongClickListener(new OnLongClickListener() {
            @Override
            public void onLongClick() {
                // handle click action here
            }
        });


文章来源: Sony Smart Watch 2: How to prevent CLICK_TYPE_SHORT from being called after button long click?