【发布时间】:2017-06-21 05:47:59
【问题描述】:
我想使用 rest API 删除 RecyclerView 项目。我在 AdapterClass 中使用 Volley。当用户单击删除 TextView 时,RecyclerView 项目应使用 Volley 删除。
这里是代码。
VechileAdapter.java
public class VechileAdapter extends RecyclerView.Adapter<VechileAdapter.MyViewHolder> {
private Context mContext;
public LayoutInflater inflater;
List<VehicleResponse.VehicleDataBean> vehicleArrayList;
VehicleResponse.VehicleDataBean current;
public static final String TAG = AppController.class.getSimpleName();
public VechileAdapter(VehicleActivity context, List<VehicleResponse.VehicleDataBean> vehiclelist) {
inflater = LayoutInflater.from(context);
this.mContext = context;
this.vehicleArrayList=vehiclelist;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout. vechile_card, parent, false);
return new MyViewHolder(itemView);
}
public void delete(int position) { //removes the row
// vehicleArrayList.remove(position);
// notifyItemRemoved(position);
}
@Override
public void onBindViewHolder(final MyViewHolder holder, int position) {
current= vehicleArrayList.get(position);
holder.brandnames.setText(current.getVehicle_brand());
holder.modelnames.setText(current.getVehicle_model());
holder.vehicleno.setText(current.getVehicle_number());
@Override
public int getItemCount() {
return vehicleArrayList.size();
}
public class MyViewHolder extends RecyclerView.ViewHolder {
public TextView brandnames, modelnames, vehicleno, Edit, Delete_vehicle, ;
public ImageView brandimgs;
public MyViewHolder(View view) {
super(view);
brandnames = (TextView) view.findViewById(R.id.brand_names);
modelnames = (TextView) view.findViewById(R.id.model_names);
vehicleno = (TextView) view.findViewById(R.id.tv_vehicleno);
brandimgs = (ImageView) view.findViewById(R.id.brand_imgs);
Edit = (TextView) view.findViewById(R.id.edit);
Delete_vehicle = (TextView) view.findViewById(R.id.tv_delete_vehicle);
Delete_vehicle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String tag="tag_json_obj";
String url="...";
final ProgressDialog pDialog= new ProgressDialog(mContext);
pDialog.setMessage("Loading");
pDialog.show();
JsonObjectRequest jsonObjReq= new JsonObjectRequest(Request.Method.POST,url,null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.d(TAG, response.toString());
pDialog.hide();
}
}
,new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error:" + error.getMessage());
pDialog.hide();
}
})
{
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("id", current.getId());
params.put("user_id", current.getUser_id());
return params;
}
};
AppController.getInstance().addToRequestQueue(jsonObjReq, tag);
}
});
}
}
}
【问题讨论】:
-
使用 Volley 删除?您正在进行 API 调用。正确的?然后成功就叫你删除方法。
-
你到底是什么意思?
-
@Kishan Vaghela。是的,使用 Volley 删除。是的,我正在进行 API 调用。如何使用删除方法?你可以发布代码。
-
@jagapathi.当用户点击删除按钮时,RecyclerView 项目应该被删除。
标签: android android-recyclerview android-volley