Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.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中按钮点击的持续时间,触发不同的方法_Android_Button_Onclick - Fatal编程技术网

根据android中按钮点击的持续时间,触发不同的方法

根据android中按钮点击的持续时间,触发不同的方法,android,button,onclick,Android,Button,Onclick,我对安卓系统比较陌生。我正在考虑添加一个功能,其中根据按钮按下的持续时间,会发生两种不同类型的事件。这样的功能可能吗? 比如说,如果用户按下该按钮3秒钟,它将打开设置菜单,否则它将在手机中搜索音乐。我不关心该做什么。我需要知道这样一个我可以检测持续时间的东西是否可能查看。setOnClickListener和查看。setOnLongClickListener是您需要的 如果要查找持续时间,必须编写自己的View子类。我建议从按钮开始并使用监听器。在您的情况下,可能足以实现onClick和onlo

我对安卓系统比较陌生。我正在考虑添加一个功能,其中根据按钮按下的持续时间,会发生两种不同类型的事件。这样的功能可能吗?
比如说,如果用户按下该按钮3秒钟,它将打开设置菜单,否则它将在手机中搜索音乐。我不关心该做什么。我需要知道这样一个我可以检测持续时间的东西是否可能

查看。setOnClickListener
查看。setOnLongClickListener
是您需要的


如果要查找持续时间,必须编写自己的
View
子类。我建议从
按钮开始
并使用监听器。

在您的情况下,可能足以实现onClick和onlongclicklister

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

// fire this listener when user click on button
someButton.setOnClickListener(new OnClickListener({...}));

// fire this listener when user do long click on Button
someButton.setOnLongClickListener(new OnLongClickListener({...}));

在本例中,您有两个选项,第一个是简单单击,第二个是标准长单击。我认为这将是解决你问题的合适办法。但是,如果您需要更具体的解决方案,比如不同的时间,那么您应该实现OnTouchListener并根据您的意图处理触摸事件。

我想问的一个问题是,我们在我的mainactivity的onClick()方法中编写这两个方法?您应该在onCreate方法中添加此方法。或者,您可以实现onClick Listener i OnLongClickListener,然后实现onClick和onLongClick方法参见android文档以获取参考。