ANDROID 如何实现一键多值 请问 android下的硬键盘 ,现在要实现1键多值。比如在1秒钟内,按1下输出A,连按两下输出B,连按3下输出C。 现在是通过 onKeyDown,能够实现按1个键输入A 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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); } android对点击事件的处理思路是用时间长短做上报的,LZ可以下点源码看看! package com.aAAaa;import java.util.Timer;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; } }} 求教关于MediaScannerConnection 求帮助,could not find adb.exe 中文标点符号的问题 有关屏幕自适应 sqlite类型转换 急,急!android 录制音乐并保存为MP3格式 获得动态生成控件入力值的问题~! 下载耗时的文件 请问一下Activity之间如何进行数据传递?多种方法的那种,希望有代码支持。 新手求帮助 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;
}
}
}