[안드로이드]Xml가져오기,익명함수,View조작하기

dada·2021년 9월 1일
1

Android

목록 보기
5/16
post-thumbnail

🟩xml파일의 view를 Activity로 불러오기

1.java-변수에 담기(직접 찾아서 가져옴)

val textView: TextView =findViewById(R.id.hello)
findViewById가 id가 hello인 문자열과 동일하면서, 속성이textView인 view를 찾아서 리턴

2.코틀린(xml을 import해서 가져옴)

hello(id에 따라 달라짐)

🟦menifest파일에서 초기 Activity바꾸기


  • intent-filter코드가 디폴트로는 MainActivity에 있음=app초기화면이 MainActivity
  • 초기 Activity를 MyListener로 설정하기 위해 MainActivity에있는 intent-filter코드블럭을 MyListener로 안으로 옮김

🟪setOnClickListener 실행하기

  • 앞서서 MyListener을 초기 Activity로 설정했기 때문에 app을 실행하면 MainListener이 초기 화면으로 뜸.
  • 사용자가 버튼(View)를 누르면 안드로이드 시스템은 해당 View에 대응하는 ~Listener()을 찾고 그 중 View의 id와 일치하는 ~Listener()코드블럭을 실행시킴

🟥setOnClickListener의 인자로 객체를 넣는 방법 3가지

1. 람다함수


2. 익명객체


3. 익명객체를 변수에 담아서


public void setOnClickListener(@Nullable View.OnClickListener l){}
public interface OnClickListener {void onClick(View var1); }

  • setOnClickListener 메서드는 View.onClickListener 인터페이스를 구현한 객체를 인자로 받음

🟫View조작하기

1. textView의 text속성을 조작-setText


public final void setText(CharSequence text){}

  • setText의 인자로 넣어준 문자열로 TextView의 속성이 바뀜
  • 이때, xml파일의 TextView에는 변화 없음(android:text="hello")

2. ImageView Image속성을 조작-setImageResource


public void setImageResource(int resId) {}

  • setImageResource의 인자로 넣어준 파일경로의 이미지로 ImageView의 속성이 바뀜
  • 이때, xml파일의 ImageView에는 변화 없음(android:src="@drawable/gradient")
  • image.setImageResource(R.drawable.mylove) 에서, setImageResource의 인자로 들어가는 R.drawable.mylove는 res폴더->drawable폴터->mylove파일 이라는 경로 표시임

    🟨View클릭 시 값 변환

  • setText()를 익명구현객체 구현코드 안에 넣은 후 setOnClickListener을 실행하면(TextView를 사용자가 클릭하면) 원래 text였던 hello가 "안녕하세요"로 바뀜
  • setImageResource()를 익명구현객체 구현코드 안에 넣은 후 setOnClickListener을 실행하면(TextView를 사용자가 클릭하면) android:src="@drawable/gradient"/ 였던 속성 이미지가 R.drawable.mylove 경로 이미지로 바뀜
profile
'왜?'라는 물음을 해결하며 마지막 개념까지 공부합니다✍

0개의 댓글