public class MainActivity extends AppCompatActivity {
ImageView thumbUp;
ImageView thumbDown;
int[] images = {R.drawable.ic_thumb_up,R.drawable.ic_thumb_down,
R.drawable.ic_thumb_up_selected, R.drawable.ic_thumb_down_selected};
int selected = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
thumbUp = findViewById(R.id.thumb_up);
thumbDown = findViewById(R.id.thumb_down);
thumbUp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int selected = 0;
thumbUp.setImageResource(images[2]);
}
});
thumbDown.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(selected == 0) {
thumbDown.setImageResource(images[3]);
selected = 1;
}
else if(selected == 1) {
thumbDown.setImageResource(images[1]);
selected = 0;
}
}
});
}
}
안녕하세요! 안드 공부중인 초보자입니다
다름이아니라 공부하다가 궁금해진것인데..( 코드내용은 무슨내용인지 자세히 안보셔두 됩니다! )
액티비티 파일(소스파일)을 만들면 onCreate()가 항상 있는데요..뭐 액티비티를 실행하면 onCreate()가 실행된다 뭐 이러면서 엄청 중요한 역할을 하잖아요? 설명이 맞는지 모르겠지만..
아무튼! 이 함수의 바깥..그러니까 클래스의 필드라고 할까요? 제가 코드에서 ImageView나
int[] 참조 변수를 선언한것처럼 onCreate()함수 바깥에다가 선언을 해주고 뷰의 이벤트 처리같은 아이디 불러오기나 이런것은 onCreate() 함수 내에서 진행 해줬는데요,
궁금한것이 영상보면 뷰의 선언이나 아이디 참조하기 등을 onCreate()함수 내에서 같이 진행하는 경우도 있더라구요.. 그래서 말인데 두개의 차이점이라던지..
혹은 뭐 더 지향해야한다 지양해야한다 이런것이 있을까요? 필드로 선언후 함수내에서 작업을하는게 좋을지! 아니면 함수내에서 함수의 지역변수로 선언하고 뭐 작업을 바로 하는게 좋을지!
이런것이 있을까요? 단순 스타일의 차이나 그런것일까요?
별거아닌 질문같지만..답변해주시면 감사하겠습니당