❶ android radiobutton怎么多次点击
Radiobutton既单选框,多个单选框中必须有一个是选中的
如果你想选择之后又取消,那么要使用CheckBox来实现
改变它的状态,方式有三种:
1、XML中申明 android:check="true|false"
2、代码动态改变 checkBox.setChecked(true|false);
3、用户触摸 这个由android系统自动改变
❷ 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 如何实现Button 重复点击实现两种功能,例如播放按钮 点击一次停止,再点击一次播放
设定一个变量,如boolean isRunning,在点击按钮时判断这个变量,如果是真说明在播放可以执行停止操作,如果是假说明当前停止,可以执行播放操作,可以用if else语句实现。
假如点击按钮实现功能超过两种,可以使用int status变量保存当前状态,在点击按钮后判断当前status的值,根据不同的值执行不同的操作,可以用switch语句实现。
❹ android 如何禁止按钮连续点击
public abstract class OnClickEffectiveListener implements OnClickListener
{
public void onClick(View v)
{
ClickEffectUtil util = ClickEffectUtil.getInstance();
// 通过上次点击时间跟本次点击时间的时间差来判断是否是有效点击
if (util.isEffectiveClick())
{
onClickAvoidForce(v);
}
}
public abstract void onClickEffective(View v);
}
你需要做一个防暴力点击,实现方式就是:
你写一个abstract的,
然后在onClick(Viewv)方法中作判断,记录上一次的点击时间,如果本次点击时间未超出限定的时间间隔,则不做响应。
写一个抽象方法供回调。
然后所有需要用到的防暴力点击,都用MyOnClickListener,不用OnClickListener就没事了。
❺ 快速多次点击button后,只执行最后一次点击,如何实现
在点击Button后,并不直接执行,而是初始化定时器时间,启动定时器。
当快速多次点击后,点击时,都会初始化定时器时间,造成不断重新初始化,定时器并不执行操作,只有一段时间不点击,定时器时间到了就执行相关的操作即可。
❻ 【Android开发】如何 使得 android长按按钮=多次按下按钮
项目遇到需要实现按键点击同时,如果按住也能实现连续音量加的效果
本办法是通过按下标志开启线程固定间隔时间发送动作
重写setOnTouchListener事件
btn_bolumeup.setOnTouchListener(newOnTouchListener(){
❼ 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 如何判断多次点击
不知道题主的意思是不是防止按钮多次点击,我这里给出一个防止按钮多次点击的方案:
private long lastClickTime = 0L;
private static final int FAST_CLICK_DELAY_TIME = 1000; // 快速点击间隔
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
...
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (System.currentTimeMillis() - lastClickTime < FAST_CLICK_DELAY_TIME) {
return;
}
lastClickTime = System.currentTimeMillis();
// TODO: 点击事件
}
});
}
❾ 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;//当前单击事件变为上次时间
}
}
}
}
❿ Android 点击Button循环延时保存 再次点击Button停止保存
第二次调用auto方法后仅仅是把flag设置为true,循环保存仍然在进行,可以在run方法中加一个判断,当flag为false继续循环,否则退出循环
@Override
public void run() {
if(!flag) {
save();
handler.postDelayed(this, 1000);
}
}