【发布时间】:2017-11-23 17:32:35
【问题描述】:
在我的片段类中
public class ReceiveFragment extends Fragment implements ReceiverRecyclerViewAdapter.OnItemClick {
btnGenAddress.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
linearLayoutMyWalletInfo.setVisibility(View.VISIBLE);
linearLayoutGenAddress.setVisibility(View.GONE);
recyclerViewAdapter = new ReceiverRecyclerViewAdapter(getActivity(),subjects, emails,this);
recyclerViewCardContainer.setAdapter(recyclerViewAdapter);
}
});
@Override
public void onClick(String value) {
}
在 ReceiverRecyclerViewAdapter 类中,我创建了一个接口,现在当我在片段中写入 recyclerViewAdapter = new ReceiverRecyclerViewAdapter(getActivity(),subjects, emails,this); } 当我使用 "this" 参数时,它会给出编译时间错误。
还有我的 ReceiverRecyclerViewAdapter 类
public class ReceiverRecyclerViewAdapter extends RecyclerView.Adapter<ReceiverRecyclerViewAdapter.ViewHolder>{
private OnItemClick mCallback;
public ReceiverRecyclerViewAdapter(Context context1,String[] SubjectValues1, String[] SubjectValues2,OnItemClick listener){
SubjectValues = SubjectValues1;
EmailValues2 = SubjectValues2;
context = context1;
this.mCallback = listener;
}
public interface OnItemClick {
void onClick(String value);
}
itemView.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
// get position
int pos = getAdapterPosition();
// check if item still exists
if(pos != RecyclerView.NO_POSITION){
String clickedDataItem = SubjectValues[pos];
Toast.makeText(v.getContext(), "You clicked " + clickedDataItem, Toast.LENGTH_SHORT).show();
mCallback.onClick(clickedDataItem);
}
}
});
}
【问题讨论】:
-
绑定 OnClickListener stackoverflow.com/questions/44151979/…
-
试试我的答案..希望对您有所帮助
标签: android android-fragments android-recyclerview