다음과 같은 문제가 있습니다. 핸들러를 사용하여 1000ms마다 정수에 1을 더한 간단한 안드로이드 앱을 만든 다음이 정수를 표시합니다. 문제는 내가 다른 활동을 시작할 때 똑같은 일이 발생한다는 것입니다. 언급 한 함수는 새로운 액티비티에서 호출되지는 않지만 여전히 그렇다. 내 코드를 통해보고 잘못 어디로 갔는지 보여주세요 ..상속 받아야하는 확장 클래스 호출 함수
MainActivity :
public class MainActivity extends ActionBarActivity {
protected TextView text;
protected int position;
private Handler handler = new Handler();
private int i = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text = (TextView) findViewById(R.id.text);
position=0;
SetButtonCLickListener();
counter();
}
protected void SetButtonCLickListener() {
Button btn = (Button) findViewById(R.id.button);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SwitchActivity();
}
});
}
private void counter() {
handler.removeCallbacks(count);
handler.postDelayed(count, 1000);
}
private Runnable count = new Runnable() {
public void run() {
i++;
text.setText("Count: " + i);
handler.postDelayed(count, 1000);
}
};
protected void SwitchActivity() {
if (position == 1) {
finish();
} else {
Intent intent = new Intent(this, MainActivity2.class);
startActivity(intent);
}
}
}
SecondActivity
public class MainActivity2 extends MainActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_activity2);
text = (TextView) findViewById(R.id.text);
SetButtonCLickListener();
position=1;
}
}
나는이 방법이 가능할 것으로 기대했지만, 네 말이 맞다. – patrick