回收站视图数据甚至不显示
问题描述:
RecyclerView.Adapter类[DataAdapter
]:回收站视图数据甚至不显示
public class DataAdapter extends RecyclerView.Adapter<Fragment_seller_main.DataAdapter.ViewHolder>
{
private Context context;
private ArrayList<String> title1;
private ArrayList<String> id1;
private ArrayList<Bitmap> image1;
DataAdapter(Context context,ArrayList<String> title,ArrayList<String> id,ArrayList<Bitmap> image)
{
this.context = context;
this.title1=title;
this.id1=id;
this.image1=image;
}
@Override
public Fragment_seller_main.DataAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i)
{
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.custom_view_shop, viewGroup, false);
return new Fragment_seller_main.DataAdapter.ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, final int position)
{
holder.textView_title.setText(title.get(position));
holder.imageView_main_image.setImageBitmap(image.get(position));
final int v=position;
holder.button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getActivity().getApplicationContext(),id.get(v),Toast.LENGTH_SHORT).show();
}
});
}
@Override
public int getItemCount() {
return title.size();
}
class ViewHolder extends RecyclerView.ViewHolder
{
private TextView textView_title;
private ImageView imageView_main_image;
private Button button;
ViewHolder(View view)
{
super(view);
textView_title= (TextView) view.findViewById(R.id.textView5);
imageView_main_image= (ImageView) view.findViewById(R.id.image_view_main_list_view_seller_main);
button= (Button) view.findViewById(R.id.button5);
}
}
}
排球请求:
StringRequest stringRequest=new StringRequest(Request.Method.POST, "http://192.168.1.7:8000/getshops", new Response.Listener<String>() {
@Override
public void onResponse(String response)
{
try
{
JSONObject jsonObject=new JSONObject(response);
JSONArray jsonArray=jsonObject.getJSONArray("result");
int count=0;
while (count<jsonArray.length())
{
JSONObject jsonObject1=jsonArray.getJSONObject(count);
title.add(jsonObject1.getString("shopownername"));
id.add(jsonObject1.getString("shopid"));
byte[] decodedString = Base64.decode(jsonObject1.getString("shopimage1"), Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
int nh = (int) (decodedByte.getHeight() * (512.0/decodedByte.getWidth()));
Bitmap scaled = Bitmap.createScaledBitmap(decodedByte, 512, nh, true);
image.add(scaled);
count++;
}
}
catch(Exception e)
{
Toast.makeText(getActivity().getApplicationContext(),e.toString(),Toast.LENGTH_LONG).show();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error)
{
Toast.makeText(getActivity().getApplicationContext(),error.toString(),Toast.LENGTH_LONG).show();
}
}){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String,String> stringMap=new Hashtable<>();
stringMap.put("owner_name",getActivity().getSharedPreferences("mentor",Context.MODE_PRIVATE).getString("phone","default"));
return stringMap;
}
};
RequestQueue requestQueue=newRequestQueue(getActivity().getApplicationContext());
requestQueue.add(stringRequest);
requestQueue.addRequestFinishedListener(this);
//上创建视图和侦听
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View v= inflater.inflate(R.layout.fragment_seller_main, container, false);
recyclerView= (RecyclerView) v.findViewById(R.id.recycler_view_seller_my_shops);
get_data_shops();
return v;
}
排球请求监听器:
public void onRequestFinished(Request<Object> request)
{
RecyclerView.Adapter adapter=new DataAdapter(getActivity().getApplicationContext(),title,id,image);
recyclerView.setAdapter(adapter);
}
即使从Volley收到数据,我该如何显示数据?
答
我只是错过了在oncreateView
recyclerView.setHasFixedSize(true);
LinearLayoutManager lay=new LinearLayoutManager(getActivity().getApplicationContext(),LinearLayoutManager.HORIZONTAL,false);
recyclerView.setLayoutManager(lay);
什么是你的问题的一些代码? –