2 回答

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超5個(gè)贊
在interface您的SettingsRecyclerAdapter:
public interface OnAdapterResult {
public void onAdapterResult(boolean isChecked);
}
并將接口附加到其構(gòu)造函數(shù)中:
public SettingsRecyclerAdapter (Context context){
mContext = context;
// .. Attach the interface
try{
onAdapterResult = (OnAdapterResult) context;
}catch(ClassCastException ex){
Log.e("MyAdapter","error"+ ex,);
}
}
然后初始化你的接口方法:
((SendToMailTypeViewHolder) holder).switchSendMailReport.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (isChecked) {
onAdapterResult.onAdapterResult(isChecked); \\ here
} else {
}
}
});
那么implements您的SettingsActivity來(lái)自adepter.OnAdapterResult interface:
public class SettingsActivity extends AppCompatActivity implements adepter.OnAdapterResult {
.
.
.
@Override
public void onAdapterResult(boolean isChecked) {
//
}
}

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊
您不能在適配器類中使用活動(dòng)的 onActivityResult() 。但您可以在適配器類中創(chuàng)建自己的相同方法
public void onActivityResult(final int requestCode, final int resultCode, final Intent data) { // do you stuff }
現(xiàn)在,當(dāng)您在 onActivityResult() 中回調(diào)時(shí),從活動(dòng)中調(diào)用您的適配器方法
if(adapter !=null){ adapter.onActivityResult(requestCode,resultCode,data) }
添加回答
舉報(bào)