유디의 공간정보·개발일기
4. 0712_ hint, if-else문으로 이미지 설정, ArrayList 본문
- 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 함수도 마찬가지로 작성한다.
'JAVA + Android Studio' 카테고리의 다른 글
6. 0715_ 리뷰, RadioGroup (0) | 2021.10.24 |
---|---|
5. 0713_ 로그인 layout 만들기, HashMap 사용하기 (0) | 2021.10.24 |
3. 0709_ Null check와 ArrayList를 적용한 버튼 활성화 (0) | 2021.10.23 |
2. 0708_ layout, Binding 설정, 버튼 클릭 시 이미지 변경 (0) | 2021.10.23 |
1. 0707_xml과 java파일, 버튼 만들기 (0) | 2021.10.21 |