【发布时间】:2021-05-15 09:00:44
【问题描述】:
我有一个RecyclerView。
一个块包含来自多个改造响应的线条和按钮。
当您单击该块时,该块有一个 ImageView,该块应该被删除。
但它不会删除它所在的块,但顺便说一下,它们已添加到数据库中。
如何将此按钮绑定到它所在的块。
他们都有一个个人号码的链接。
这是图片按钮方法:
public void DeletePn() {
DeletePnRequest deletePnRequest = new DeletePnRequest();
deletePnRequest.setPnumber(this.pnumber.trim());
Call<DeletePnResponse> deletePnResponseCall = ApiClient.getUserService().delPn(deletePnRequest, token);
deletePnResponseCall.enqueue(new Callback<DeletePnResponse>() {
@Override
public void onResponse(Call<DeletePnResponse> call, Response<DeletePnResponse> response) {
if(response.isSuccessful()){
DeletePnResponse deletePnResponse = response.body();
assert deletePnResponse != null;
msg = deletePnResponse.getMessage();
Toast.makeText(PersonalNumberActivity.this, msg, Toast.LENGTH_LONG).show();
recreate();
} else {
Toast.makeText(PersonalNumberActivity.this, "Error " + response.code(), Toast.LENGTH_LONG).show();
}
}
@Override
public void onFailure(Call<DeletePnResponse> call, Throwable t) {
}
});
}
这是RecyclerView 适配器
private List<PersNumResponse> persNumResponseList;
private Context context;
public void setData(List<PersNumResponse> persNumResponseList) {
this.persNumResponseList = persNumResponseList;
notifyDataSetChanged();
}
@NonNull
@Override
public AdapterVH onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
context = parent.getContext();
return new Adapter.AdapterVH(LayoutInflater.from(context).inflate(R.layout.recycler_view_row, parent, false));
}
@Override
public void onBindViewHolder(@NonNull AdapterPn4PayVH holder, int position) {
PersNumResponse persPayResponse = persNumResponseList.get(position);
String pnumber = persNumResponse.getPnumber();
String city = persNumResponse.getCity();
String street = persNumResponse.getStreet();
String house = persNumResponse.getHouse();
holder.pnumber.setText(pnumber);
holder.city.setText(city);
holder.street.setText(street);
holder.house.setText(house);
}
@Override
public int getItemCount() {
return persNumResponseList.size();
}
public class AdapterVH extends RecyclerView.ViewHolder {
TextView pnumber;
TextView city;
TextView street;
TextView house;
public AdapterVH(@NonNull View itemView) {
super(itemView);
pnumber = itemView.findViewById(R.id.pnumber);
city = itemView.findViewById(R.id.city);
street= itemView.findViewById(R.id.street);
house = itemView.findViewById(R.id.house);
//this button
del_pn_btn = itemView.findViewById(R.id.del_pn_btn);
del_pn_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(context instanceof PersonalNumberActivity){
((PersonalNumberActivity)context).DeletePn();
}
}
});
}
}
【问题讨论】:
标签: java android android-recyclerview retrofit