마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

볼륨키 업.다운 클릭시 이벤트 발생

0 추천
 
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button);
final TextView countText = (TextView) findViewById(R.id.count_text);
button.setOnTouchListener(new OnTouchListener() {
 
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
 
if (event.getAction() == MotionEvent.ACTION_DOWN)  {
onHandler1();
 
}
if (event.getAction() == MotionEvent.ACTION_UP) {
mHandler.removeCallbacks(r);
}
return true;
}
});
}
 
int count = 0;
private Handler mHandler;
private Runnable r;                           
private void onHandler1() {
mHandler = new Handler();
r = new Runnable() {
@Override
public void run() {
count++;
((TextView) findViewById(R.id.count_text)).setText(String
.valueOf(count));
mHandler.postDelayed(r, 1000);
}
};
mHandler.postDelayed(r, 1000);
}
}
 
이건 버튼 클릭시 1초에 숫자 1씩증가 하도록 만든것입니다.
볼륨 업 혹은 다운을 클릭시  초마다 증가 하게 하고싶은데
어떠한 방법이 있을까요 ??
리뷰즈 (480 포인트) 님이 2015년 1월 2일 질문

1개의 답변

0 추천
@Override
    public boolean dispatchKeyEvent(KeyEvent event) 
    {
        if (event.getAction() == KeyEvent.ACTION_DOWN)
        {
            switch (event.getKeyCode()) 
            {
                case KeyEvent.KEYCODE_VOLUME_UP:
                onHandler1();
               
                    return true;
                case KeyEvent.KEYCODE_VOLUME_DOWN:
                mHandler.removeCallbacks(r);
               
                    return true;
            }
        }
 
        return super.dispatchKeyEvent(event);
    }
익명사용자 님이 2015년 1월 2일 답변
...