JAVA + Android Studio
4. 0712_ hint, if-else문으로 이미지 설정, ArrayList
55yudi
2021. 10. 24. 12:35
- hint : 설명창/설명글
- System.out.println( ); 대신
binding.output1.setText( );
- build.gradle 설정, main에 binding 설정 완료하기
- guidelines
- containers - Horizontal ScrollView
- layout을 container로 설정해서 이미지 보이게 하기
* createCat 함수 만들기
public void createCat() {
Cat cat1 = new Cat(name);
cats.add(cat1);
* Layout에 imageView 코드로 만들기
public void createCat() {
Cat cat1 = new Cat(name);
cats.add(cat1);
//여기서 this : 화면 = context
ImageView imageView = new ImageView(this);
imageView.setImageResource(R.drawable.cat);
binding.container.addView(imageView); //버튼 등을 넣을 수 있음
- Dog class, Cat class 만들기
public class Dog {
String name;
Dog(String name) {
this.name = name;
}
}
public class Cat {
String name;
Cat(String name) {
this.name = name;
}
}
- Dog, Cat의 ArrayList 2개 만들기
ArrayList<Dog> dogs = new ArrayList<Dog>();
ArrayList<Cat> cats = new ArrayList<Cat>();
- 새 객체가 생성될 때마다 ArrayList에 넣어줌
- main함수 밖에 함수 만들기
- 버튼이 클릭되면 실행됨
binding.실행시킬 버튼id.setOnClickListener(new View.OnClickListener() {
@override //...//
public void onClick(View v) {
createDog();
}
});
- createDog( ) 코드
public void createDog() {
String name = binding.input1.getText().toString(); // input1 : 텍스트 나올 곳 id
Dog dog1 = new Dog(name);
dogs.add(dog1);
//size() 는 갯수를 적어준다.
int count = dogs.size();
if (count == 1) {
binding.output1.setImageResource(R.drawble.dog); // output1 : 이미지 나올 곳 id
} else if (count == 2) {
binding.output2.setImageResource(R.drawble.dog);
} else if (count == 3) {
binding.output3.setImageResource(R.drawble.dog);
} else if (count == 4) {
binding.output4.setImageResource(R.drawble.dog);
} else if (count == 5) {
binding.output5.setImageResource(R.drawble.dog);
}
}
- createCat 함수도 마찬가지로 작성한다.