버튼으로 이미지 바꾸기
이미지를 drawable에 저장을 시킨다.
저장된 이미지를 배열에 저장시킨다.
버튼과 이미지 뷰의 아이디를 변수에 저장시킨다.
버튼을 클릭할 경우 기능을 구현한다.
- 다음 버튼
버튼 클릭 시 배열에 저장된 위치보다 1이 증가해야되므로 ++i를 추가하고 조건문을 통해 길이가 넘을 경우 다시 0으로 돌아가게 만든다.
- 이전 버튼
버튼 클릭 시 배열에 저장된 위치보다 1이 증가해야되므로 ++i를 추가하고 조건문을 통해 길이보다 적을 경우 다시 배열의 끝으로 돌아가게 만든다.
전체 소스
package com.example.ex0407;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity4 extends AppCompatActivity {
Button btnPre,btnNext;
ImageView img;
int i=0;
// 이미지 배열 생성
int[] imgArr = {R.drawable.chunsik1,R.drawable.chunsik2,R.drawable.chunsik3};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main4);
img = findViewById(R.id.imageView2);
img.setImageResource(imgArr[1]);
btnNext = findViewById(R.id.btnNext);
btnPre = findViewById(R.id.btnPre);
btnNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
++i;
if(i < imgArr.length) {
img.setImageResource(imgArr[i]);
}
else {
i = 0;
img.setImageResource(imgArr[i]);
}
}
});
btnPre.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
--i;
if(i < 0) {
i = imgArr.length-1;
img.setImageResource(imgArr[i]);
}
else {
img.setImageResource(imgArr[i]);
}
}
});
}
}