① 求助: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;//當前單擊事件變為上次時間
}
}
}
}