android button 双击操作如何监听
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android button 双击操作如何监听相关的知识,希望对你有一定的参考价值。
android里面没有监听双击事件的操作,如果想实现的话我的建议是在private int count = 0;
button.setOnClickListener(new OnClickListener()
@Override
public void onClick(View v)
count++;
if(cout == 2)
.监听处理.
count = 0;
) ;
这样做的话会导致一个问题,那就是用户在单击一下是没什么操作 当用户很长时间没单击之后再单击一次仍然会执行相关操作,这样给用户的体验很不好,如想改善最好是通过一个线程来监控count让count在一定时间内刷新为0如下
private int count = 0;
button.setOnClickListener(new OnClickListener()
@Override
public void onClick(View v)
count++;
if(cout == 2)
.监听处理.
count = 0;
) ;
new Thread(new Runnable()
public void run()
try
Thread.sleep(500);
count = 0;
catch (InterruptedException e)
e.printStackTrace();
).start();
这样做的话有可能的情况是当用户在500ms末单击一下在另外一个500ms初单击一下这样是不会触发相应的事件的,这是这个程序的本身最大的缺陷
参考资料:·
参考技术A android里面没有监听双击事件的操作,如果想实现的话我的建议是在private int count = 0;
button.setOnClickListener(new OnClickListener()
@Override
public void onClick(View v)
count++;
if(cout == 2)
.监听处理.
count = 0;
) ;
这样做的话会导致一个问题,那就是用户在单击一下是没什么操作 当用户很长时间没单击之后再单击一次仍然会执行相关操作,这样给用户的体验很不好,如想改善最好是通过一个线程来监控count让count在一定时间内刷新为0如下
private int count = 0;
button.setOnClickListener(new OnClickListener()
@Override
public void onClick(View v)
count++;
if(cout == 2)
.监听处理.
count = 0;
) ;
new Thread(new Runnable()
public void run()
try
Thread.sleep(500);
count = 0;
catch (InterruptedException e)
e.printStackTrace();
).start();
这样做的话有可能的情况是当用户在500ms末单击一下在另外一个500ms初单击一下这样是不会触发相应的事件的,这是这个程序的本身最大的缺陷。 参考技术B android 里面只有点击、长按、触摸等事件监听,没有双击。 如果需要双击可以在触摸事件监听中的ACTION_DOWN和ACTION_UP中综合来判断。 参考技术C Button button = (Button)findViewById(R.id.button);
button.setOnClickListener(new OnClickListener()
@Override
public void onClick(View v)
....监听处理....
);
这个回答正解。这个问题。。。。。-_-!
Android Button监听的方式
Android Button的几种监听方式
1、一个Button对应一个监听
1)xml文件中绑定监听
<Button android:id="@+id/btn_test" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="test listener" android:onClick="test" />
在对应文件中实现该方法
public void test(View v){ // to do something Toast.makeText(this, "xml绑定监听响应", Toast.LENGTH_SHORT).show(); }
2)
Button btnTest = (Button) findViewById(R.id.btn_test); btnTest.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub } });
2、多个Button对应一个监听
1)
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btnTest = (Button) findViewById(R.id.btn_test); Button btnDeploy = (Button) findViewById(R.id.btn_deploy); btnTest.setOnClickListener(listener); btnDeploy.setOnClickListener(listener); } OnClickListener listener = new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.btn_test: break; case R.id.btn_deploy: break; default: break; } } }; }
2)
public class MainActivity extends Activity implements OnClickListener{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btnTest = (Button) findViewById(R.id.btn_test); Button btnDeploy = (Button) findViewById(R.id.btn_deploy); btnTest.setOnClickListener(this); btnDeploy.setOnClickListener(this); } @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.btn_test: break; case R.id.btn_deploy: break; default: break; } } }
以上是关于android button 双击操作如何监听的主要内容,如果未能解决你的问题,请参考以下文章