[英]android: how to make interface between recycler view and adapter clss
我有一個recyclerview
,每個項目都有Switch Button,我想為項目添加switch.setOnCheckedChangeListener
。 如何在適配器類和recyclerview主機活動之間建立接口?
首先,您將創建一個接口類
public interface ExampleInterface {
void udpateData(String data);
}
將使用您需要的名稱和參數定義接口
在具有RecycleView的活動或片段中,您需要實現此接口。
第三,當您調用適配器時,請將此interface
傳遞給適配器。 每次切換按鈕更改狀態時, interface
都會調用updateData方法來更新數據
祝好運
在你的主機活動中寫一個方法來處理切換按鈕的變化,比方說
private void switchButtonChanged()
例如,在創建適配器時傳遞主機活動
Adapter adapter = new Adapter(getActivity())
在適配器中的onCheckedChangedListener()下,觸發hostActivity.switchButtonChanged()
有一種簡單的方法可以做到這一點。 接口。
public class YourAdapter extends YourAdapterExtends {
private AdapterInteractionListener adapterInteractionListener;
... // your adapter codes
public YourAdapter(AdapterInteractionListener adapterInteractionListener){
this.adapterInteractionListener = adapterInteractionListener;
}
//call where you call switch.setOnCheckedChangeListener method
switch. setOnCheckedChangeListener{
adapterInteractionListener.onSwitched;
}
//here your interaction interface.
public interface AdapterInteractionListener{
void onSwitched();
}
}
和你的主持人活動
public class YourActivity extends YourExtends impelements YourAdapter.AdapterInteractionListener {
...//your activity codes
@Override
onSwitched{
//here your switch listener triggered here
}
}
我希望這有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.