请问 android下的硬键盘 ,现在要实现1键多值。比如在1秒钟内,按1下输出A,连按两下输出B,连按3下输出C。 现在是通过 onKeyDown,能够实现按1个键输入A
解决方案 »
- 关于手机apn的若干问题
- android 在SD卡上 创建 中文文件名 乱码
- 怎么使用gtalk的视频会议?
- android能用c开发吗?
- ADT 插件装不上,提示:Cannot complete the install because one or more required items coul
- 有关android疯狂讲义!!速来大神
- Post请求异常,求教
- 请问各位大神,是学JAVA还是C++?
- android 与 linux 通过usb通讯方案
- Android悬浮框相关问题
- This element has no attached sources and the Javadoc could not found in the atta
- 如何在activity直接传递对象,而非数据?
long clickTime;
Calendar cal; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
cal = Calendar.getInstance();
clickTime = cal.getTimeInMillis();
Button button = new Button(this);
button.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
long now = Calendar.getInstance().getTimeInMillis();
System.out.println(now+","+clickTime);
if (now - clickTime <= 1000) {
//自行处理
System.out.println("1秒内");
}
clickTime=now;
}
});
setContentView(button);
}
import java.util.TimerTask;import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.GestureDetector;
import android.view.GestureDetector.OnGestureListener;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;public class AAaa extends Activity{
private Button leftUp;
private ButtonOnTouchListener listener = new ButtonOnTouchListener();
// 计算点击的次数
private int count = 0;
// 第一次点击的时间 long型
private long firstClick;
// 最后一次点击的时间
private long lastClick =0;
// 第一次点击的button的id
// 调试环境是否开启
private Timer timer ;
private TimerTask task;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
leftUp = (Button) findViewById(R.id.leftUp);
leftUp.setOnTouchListener(listener); }
private class ButtonOnTouchListener implements OnTouchListener {
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
count++;
Log.v("count", count+"");
if (count == 1) {
firstClick = System.currentTimeMillis();
timer = new Timer();
task = new TimerTask() {
public void run() {
if(lastClick==0){
Log.v("danji", "danji");
clear();
}
}
};
timer.schedule(task,300);
} else if (count == 2) {
timer.cancel();
lastClick = System.currentTimeMillis();
if (lastClick - firstClick < 300) {
Log.v("shuangji", "shuangji");
}
clear();
}
}
return false;
}
// 清空状态
private void clear() {
count = 0;
firstClick = 0;
lastClick = 0;
}
}
}