5

我看过几篇文章,例如这篇文章, 描述了如何使用按钮处理长按事件。我可以按照这些指示进行操作,但我想知道是否可以按照我处理点击的方式进行操作。我处理点击的方式是在 XML 中定义处理程序,如下所示:

<Button
    android:id="@+id/btn_NextLift"
    ...
    android:onClick="btn_NextLiftClick" />

然后在这样的代码中:

public void btn_NextLiftClick(View vw_Current) 
    {...}

我确实在 xml 中看到了布尔属性 longClickable,但我没有看到在哪里定义事件处理程序所以......???

TIA JB

4

1 回答 1

19

您不能通过 XML 做到这一点。相反,使用:

Button button = (Button) findViewById(R.id.btn_NextLift);

button.setOnLongClickListener(new OnLongClickListener() { 
        @Override
        public boolean onLongClick(View v) {
            // TODO Auto-generated method stub
            return true;
        }
    });

确保此代码在setContentView()被调用之后出现。

此外,请确保该longClickable属性设置为 true。

于 2012-11-14T16:31:53.780 回答