안녕하세요..질문이 있습니다.
보통 버튼 클릭시 화면전환을 새로운 액티비티를 생성하는데
1)
Button btn_add = (Button) findViewById(R.id.btn_add);
btn_add.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(MycardActivity.this, main.class);
startActivity(intent);
}
});
이거 말구 그냥 단순히 화면 전환하려면 어케해야하나요?
2)
Button btn_add = (Button) findViewById(R.id.btn_add);
btn_add.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
setContentView(R.layout.add);
}
});
1번과 2번의 차이가 먼가요?
2번으로 전환했을때 상단 버튼이 일회성인것 같은데 다시 리셋시켜줘야하나요??
네, 건방진프로그래머님께서 잘 설명해주셨네요..
코딩에 정답은 없지만.. 저같은경우는 화면 바뀔때마다 특별한 경우 아니면
startActivity로 새로운 액티비티(종이)를 호출합니다..(액티비티 갯수 = xml 갯수)
이렇게 해놓으면 back key누르면 이전 액티비티(종이)로 특별한 처리를 안해줘도 돌아갈 수 있으니까요..
추가로,
A액티비티가 B액티비티를 B액티비티가 C액티비티를 호출해서
이렇게 A-B-C로 쌓여있다고 쳤을때
C에서 back을 누르면 B로가지만. B가 아닌 A로 바로 가고싶을 때도 있겠죠.. 이럴때는 Intent Flag를 사용하시면 됩니다.




코드가 잘됐다 안됐다를 떠나서..
1번경우는 새로운 종이를 호출해서 layout을 그리게될거고
2번경우는 있던 종이에다가 작업하는거라고 이해하시면 빠를것같습니다..