kotlin 의 Recycle View 우아 한 클릭 이벤트
여러분, 한 걸음 씩 오 세 요. 저희 가 먼저 자바 를 소개 하 겠 습 니 다.
1, 심 플 뷰 클릭 이벤트
view1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
원본 코드 는 원본 코드 에서 볼 때 인터페이스 입 니 다. 우 리 는 프론트 인터페이스 에서 이 인 터 페 이 스 를 되 돌려 데 이 터 를 전송 합 니 다.
/**
* Interface definition for a callback to be invoked when a view is clicked.
*/
public interface OnClickListener {
/**
* Called when a view has been clicked.
*
* @param v The view that was clicked.
*/
void onClick(View v);
}
2, 간단 한 ListView 의 아 이 템 클릭 이벤트
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
}
});
원본 코드: 원본 코드 의 주석 에서 볼 때 이것 은 인터페이스 입 니 다. AdapaterView 의 Item 이 클릭 되 었 을 때 호출 됩 니 다.
public interface OnItemClickListener {
/**
* Callback method to be invoked when an item in this AdapterView has
* been clicked.
*
* Implementers can call getItemAtPosition(position) if they need
* to access the data associated with the selected item.
*
* @param parent The AdapterView where the click happened.
* @param view The view within the AdapterView that was clicked (this
* will be a view provided by the adapter)
* @param position The position of the view in the adapter.
* @param id The row id of the item that was clicked.
*/
void onItemClick(AdapterView<?> parent, View view, int position, long id);
}
3, RecycView 의 클릭 이벤트
,RecycleView , ,
4, RecycView 의 클릭 이벤트 자바 구현 모드
자바 구현 모드 란 인 터 페 이 스 를 정의 하 는 것 입 니 다. 클래스 에서 이 인 터 페 이 스 를 실현 하고 adapter 에서 이 인 터 페 이 스 를 호출 하면 데 이 터 는 실현 클래스 로 전 송 됩 니 다. 자, 지금부터 시작 합 시다.
//
var listener:Listener<BEAN>? = null
//
interface Listener<BEAN>
{
fun onClick(data:BEAN)
}
fun setMyListener(listener:Listener<BEAN>){
this.listener = listener
}
여기 서 우 리 는 프론트 인터페이스 류 에서 이 Listener 류 를 실현 한 다음 에 인터페이스 에서 이 listener 를 전달 하면 됩 니 다. 즉, 하나의 유형 으로 이 인 터 페 이 스 를 감 싸 야 합 니 다. 그러면 조금 귀 찮 습 니 다. 잠시 후에 우리 뒤에 kotlin 의 우아 한 쓰기 방법 을 소개 하 겠 습 니 다.
class MyActivity :Listener<BEAN>{
//
override fun onClick(data:BEAN)
{
//
}
// , listener
adapter.setMyListener(this)
// Listener , , this
}
5, RecycView 의 클릭 이벤트 Kotlin 구현 모드
kotlin 은 함수 식 프로 그래 밍 능력 을 가지 기 때문에 프로 그래 밍 에 있어 강력 한 편리 성 을 제공 합 니 다. kotlin 에서 함수 와 클래스 는 평등 하고 클래스 의 단독 존재 에 독립 할 수 있 습 니 다.
//
var listener:((itemBean:ITEMBEAN)->Unit?)? =null
// , , ,
fun setMyListener(listener:(itemBean:ITEMBEAN)->Unit){
this.listener = listener
}
//adapter , onBindViewHolder
override fun onBindViewHolder(p0: BaseListAdapter.BaseListHolder, p1: Int) {
....
// kotlin ,
itemView.setOnClickListener{
listener?.let{
data
}
//let
//listener?.invoke(data)
}
}
화면 에서 Activity 나 Fragment 같은 거.
adapter.setMyListener{ it
// , it, ,
// it
it.name
it.age
......
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.