안드로이드 프로그래밍
갤러리
4gats
2023. 3. 13. 23:14
뷰를 클릭할 때 특정 기능을 수행하도록 하기 위해
android:clickable을 true로 설정하고
android:onClick 속성에는 클릭 이벤트 발생 시에
자동으로 수행될 메소드명(ex : press)을 기입
사용자가 뷰를 터치하면 뷰는 이벤트를 시스템에 통지 (콜백(callback) 메소드)
시스템은 MainActivity.java에서 구현한 press를 호출
액티비티 호출과 액티비티 간 정보 전달은 인덴트 클래스를 이용
View 클래스
android:clickable
클릭 이벤트에 대한 반응 여부를 정의(true, false)
android:id
뷰를 구별하기 위한 이름
android:id="@+id/아이디 이름"
android:onClick
뷰가 클릭될 때 실행되는 메소드의 이름
여기서는 "displayPicture"
이 메소드를 MainActivity.java에 추가해야한다!
android:tag
문자열로 나타내는 태그
MainActivity.java
import android.widget.Toast;
public void displayPicture(View v)
{
int id = v.getId();
LinearLayout layout = (LinearLayout) v.findViewById(id);
String tag = (String) layout.getTag();
Toast.makeText(this, "클릭한 아이템: " + tag, Toast.LENGTH_LONG).show();
}
Toast
화면에 작은 팝업 창으로 사용자에게 간단한 메시지를 전달
LENGTH_SHORT , LENGTH_LONG
Intent 클래스
액티비티 호출과 정보 전달에 사용
//주어진 class에 대해 지정한 액션을 하는 인텐트 생성
Intent it = new Intent(this, Picture.class);
//인텐트에 name의 값을 value로 할당
it.putExtra("it_tag", tag);
// 인텐트에서 지정한 액티비티를 실행
startActivity(it);
'명화 상세' 액티비티 추가 및 수정
xml 추가 & 자바 클래스 추가