① 求助:android两个及以上控件点击事件同时监听响应如何实现
就是失去焦点事件,设置焦点监听setonfocuschangelistener(new
android.view.view.onfocuschangelistener()
{
@override
public
void
onfocuschange(view
v,
boolean
hasfocus)
{
if(hasfocus)
{//
此处为得到焦点时的处理内容}
else
{//
此处为失去焦点时的处理内容}
}});
② Android系统重复按键的处理
按钮点击事件里面有 setOnClickListener() 与 setOnLongClickListener(),分别对应着 点击, 和长按 监听,重写这两个方法 做对应的处理即可
③ Android开发 多次点击按钮实现不同的功能
可以声明一个按钮的集合,再声明一个boolean数组,用循环设置监听事件,例如:
private Button[] buttons = new Button[10];
private boolean[] ifPressed = new boolean[10];
private String[] audioPathes = new String[]{第一个语音文件的路径, 第二个语音文件的路径.......};
private int[] idOfButtons = new int[]{R.id.第一个button的id, R.id.第二个button的id, ..... };
private Class[i] classes = new Class[]{xxxxActivity.class, xxxxActivity.class, .......};
oncreat(){
for(int i = 0; i<10; i++){
buttons[i] = (Button) findViewById(idOfButtons[i]);
buttons[i].setOnClickListener(new OnClickListener(){
//因为boolean数组初值为false,所以不用初始化为false,直接调用
if(!ifPressed[i]){
//单独写个方法,传入路径播放语音,用Media或者SoundPool都可以
//如果是播放同一个语音的话就不用加路径参数了,audioPathes也不用了
playAudio(audioPathes[i]);
ifPressed[i] = true;
}
Intent intent = new Intent(MainActivity.this, classes[i]);
startActivity(intent);
finish();//要不要结束当前Activity根据你的app要求吧
});
}
}
大概思路就是这样了,直接在网页上打的,排版不是太好,变量名可能也有打错不一样的,还是先理解了自己写吧,这样才有提高。
刚刚重新看了下,buttons数组可以不要,在循环里直接new一个Button就可以了,把
buttons[i] = (Button) findViewById(idOfButtons[i]);
buttons[i].setOnClickListener(new OnClickListener(){});
替换为:
Button button = (Button) findViewById(idOfButtons[i]);
button.setOnClickListener(new OnClickListener(){
就好了
④ 【Android开发】如何 使得 android长按按钮=多次按下按钮
项目遇到需要实现按键点击同时,如果按住也能实现连续音量加的效果
本办法是通过按下标志开启线程固定间隔时间发送动作
重写setOnTouchListener事件
btn_bolumeup.setOnTouchListener(newOnTouchListener(){
⑤ android 怎样得到连续两次单击button的时间间隔
1、定义一个变量,记录上一次单击的时间
2、设置按钮的点击监听事件,获取本次单击的时间
3、本地单击的时间减去上次单击的时间就是时间间隔。
示例
java">longprelongTim=0;//定义上一次单击的时间
button01.setOnClickListener(newView.OnClickListener(){
@Override
publicvoidonClick(Viewv){
if(prelongTim==0){//第一次单击,初始化为本次单击的时间
prelongTim=(newDate()).getTime();
}else{
longcurTime=(newDate()).getTime();//本地单击的时间
System.out.println("两次单击间隔时间:"+(curTime-prelongTim));//计算本地和上次的时间差
prelongTim=curTime;//当前单击事件变为上次时间
}
}
}
⑥ android开发如何实现onclickListener或navigationview按钮点击事件当用户按一次按钮相当于按两次按钮
可以通过时间间隔控制不让用户频繁点击。
1、定义一个变量,记录上一次单击的时间
⑦ android开发中怎么控件按钮不让用户频繁的点击
可以通过时间间隔控制不让用户频繁点击。
1、定义一个变量,记录上一次单击的时间
longt1=0;//记录上一次单击的时间,初始值为0
2、在按钮的点击时获取本次点击的时间,然后根据间隔时间设置可以点击的频率。
Buttonbtn=(Button)findViewById(R.id.xxxx);//获取该按钮
btn.setOnClickListener(newView.OnClickListener(){//定义按钮的点击事件
@Override
publicvoidonClick(Viewv){
if(t1==0){//第一次单击,初始化为本次单击的时间
t1=(newDate()).getTime();
}else{
longcurTime=(newDate()).getTime();//本地单击的时间
System.out.println("两次单击间隔时间:"+(curTime-t1));//计算本地和上次的时间差
if(curTime-t1>5*1000){
//间隔5秒允许点击,可以根据需要修改间隔时间
t1=curTime;//当前单击事件变为上次时间
}
}
}
}