안녕하세요 이클립스를 이제 막 배워나가는 중의 초보자입니다.
화면을 터치하면 그 터치되는 횟수를 화면에 표시해주고
화면이 터치되지 않을때 일정시간이(30초) 경과하면 종료되는 그런앱을 만들어보는 중인데요
화면터치할때 터치되는 횟수를 화면에 표시하는건 setOnTouchListener 로 해서 어찌어찌 구현헀는데
화면이 터치되지 않을때를 모르겠습니다;;
터치리스너 안에다 터치되지 않을때의 동작을 기술해서 터치가 없을때의 동작을 할수가 없다는건 알겠는데
그럼 터치안될때의 리스너를 이용해서 다시 조건문으로 해서 해봐야겠다 싶은데 어떻게 해야할지 감이 안잡하네요;;
아직 제가 개념자체를 잘못 이해하고 있는 부분인건지 힌트나 키워드좀 부탁드립니다.
package org.androidtown.l;
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.EditText;
public class MainActivity extends Activity {
EditText editText1;
int touchCount = 0;
int timeLimit = 30;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText1 = (EditText) findViewById(R.id.editText1);
View view1 = (View) findViewById(R.id.view1);
view1.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event){
if(event.getAction() == MotionEvent.ACTION_DOWN){
incrTouchCount();
showTouchCount();
}
else if(event.getAction() != MotionEvent.ACTION_DOWN){
timeCheck();
}
return true;
}
});
}
private void incrTouchCount() {
touchCount = touchCount + 1;
}
private void showTouchCount() {
editText1.setText("터치한 횟수 : " + touchCount);
}
private void timeCheck() {
long time1 = System.currentTimeMillis ();
long time2 = System.currentTimeMillis ();
long time3 = ( time2 - time1 ) / 1000;
long endTime = timeLimit - time3;
if(endTime <= 0){
System.exit(0);
}
}
public void onButton1Clicked(View v) {
finish();
}
}