rest APIを使用してRecyclerViewアイテムを削除します。私はAdapterClassでVolleyを使用しています。ユーザーがTextViewを削除すると、RecyclerViewアイテムがVolleyを使用して削除されます。Rest APIを使用してRecyclerViewアイテムを削除するにはどうすればよいですか?
ここはコードです。
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呼び出しを行っています。右?成功すればメソッドを削除するだけです。 –
実際にはどういう意味ですか? – jagapathi
@Kishan Vaghela.Yes Volleyを使用して削除します。はいAPI呼び出しを行っています。 deleteメソッドの使い方?コードを投稿できますか? – rakesh