private void shortlist(){
StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String> () {
@Override
public void onResponse(String response) {
Log.e("short response-------",response);
if(response.equalsIgnoreCase("success")) {
btnSort.setBackgroundColor(Color.parseColor("#FF307668"));
btnSort.setText("shortlisted");
btnSort.setEnabled(false);
}
Toast.makeText(getContext(),matri_id_to, Toast.LENGTH_LONG).show();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getContext(), error.toString(), Toast.LENGTH_LONG).show();
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put(KEY_MATRI_ID_BY,matri_id_by);
params.put(KEY_MATRI_ID_TO,matri_id_to);
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(getContext());
requestQueue.add(stringRequest);
}
在此代码中,我们希望在响应成功时更改按钮的文本和颜色,否则文本或颜色与按下之前相同但按钮在ListView上
答案 0 :(得分:0)
ListView
中更改smth的主要流程如下:
success
)保留在您在适配器中使用的包装器模型中; success
字段); notifyDataSetChanged
- 您的listView将以适当的状态和正确的状态重新绘制。<强> BUT 强>
我真的建议您使用RecyclerView而不是ListView。流程几乎相同但您可以调用notifyItemChanged
来仅调整一个条目(您的按钮)。