如何使用ListView
中的按钮刷新ArrayAdapter
中显示的项目。 ListView
中显示的项目来自mysql数据库。我想要发生的是,每当我在Button
内按ArrayAdapter
时,Arraylist
中的数据都会被刷新,ListView
中显示的内容也会被刷新。我正在尝试使用SwipeRefreshLayout
,但使用Button
。
为什么我要这样做是因为当点击一个按钮时它会更新我的数据库,并从我的列表中删除/更新(Button.setText)项目。
ArrayAdapter中的按钮:
if(orderList.getStatusID() == 1) {
viewHolder.btnStatus.setText("Press if Ready");
viewHolder.btnStatus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getContext(), "Complete", Toast.LENGTH_SHORT).show();
stringRequest = new StringRequest(Request.Method.POST, "http://" + IPvariable.IP + "/myDB/update_order_ready.php",
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
if(response.contains("success")){
Toast.makeText(getContext(), "Order Sent", Toast.LENGTH.SHORT).show();
//ADD Code to Refresh List
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getContext(),"Order Sending Failed",Toast.LENGTH_SHORT).show();
}
}){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
params.put("order_id", String.valueOf(orderList.getOrder_id()));
return params;
}
};
MySingleton.getInstance(getContext()).addToRequestQueue(stringRequest);
}
});
}