Java 安卓按住按钮几秒钟,然后做一些事情
我想做一个按钮,当它保持3秒钟的时候,我得到了这个。它确实可以工作,但我想知道它是否是正确的操作方式,我的意思是,我想让所有按钮都以相同的方式设计,整个菜单基于按住x秒,然后继续操作,我想知道它是否不会产生问题,也不会让我的应用程序变慢Java 安卓按住按钮几秒钟,然后做一些事情,java,android,Java,Android,我想做一个按钮,当它保持3秒钟的时候,我得到了这个。它确实可以工作,但我想知道它是否是正确的操作方式,我的意思是,我想让所有按钮都以相同的方式设计,整个菜单基于按住x秒,然后继续操作,我想知道它是否不会产生问题,也不会让我的应用程序变慢 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_m
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
onbutton = (Button)findViewById(R.id.onbutton);
onbutton.setOnTouchListener(new View.OnTouchListener() {
private Handler handler;
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
switch(motionEvent.getAction()){
case MotionEvent.ACTION_DOWN:
onbutton.setBackgroundResource(R.drawable.onbuttonshape);
handler = new Handler();
handler.postDelayed(run,3000);
break;
case MotionEvent.ACTION_UP:
onbutton.setBackgroundResource(R.drawable.buttonshape);
handler.removeCallbacks(run);
break;
}
return true;
}
Runnable run = new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this, "delayed msg", Toast.LENGTH_SHORT).show();
}
};
});
}
我只想使用方法
setOnLongClickListener()
:
不要重新发明轮子
Android有一个
setOnLongClickListener()
您可以订阅并检测到您正在寻找的长按
文档是为什么不直接使用
setOnLongClickListener()
?必须精确到3秒吗?我想这应该在codereview.stackexchange.com上。如何设置3秒的持续时间?我不确定你能不能。我相信这个想法是为了能够修改和设置新闻的实际持续时间。上述情况不允许这样做。如果我错了,请告诉我。
setOnLongClickListener()