如何解决尝试从本地服务器加载数据时,模拟器显示空白屏幕
我正在尝试使用片段中的 RecyclerView 显示来自本地数据库的一些数据。 我没有错误,但在运行代码时,模拟器仍然没有显示任何内容。
但是,LogCat 将这些消息显示为错误:
1831-1872/? E/SurfaceFlinger:ro.sf.lcd_density 必须定义为构建属性
和
2034-2248/system_process E/TaskPersister:访问最近目录的文件错误(目录不存在?)
请问有什么帮助吗??
谢谢
我的班级
private String SectorName;
private String image_url;
public sector_services() {};
public sector_services (String SectorName,String image_url)
{
this.SectorName = SectorName;
this.image_url = image_url;
}
public String getName()
{
return SectorName;
}
public void setName(String name)
{
this.SectorName = name;
}
public String getImage () { return image_url;}
public void setImage(String image) {this.image_url = image;}
}
我的适配器
LayoutInflater inflater;
List<sector_services> sectors;
Context c;
//ViewHolder Class
public class RecyclerVH extends RecyclerView.ViewHolder
{
TextView sectorName;
ImageView image;
public RecyclerVH(@NonNull View itemView) {
super(itemView);
sectorName= itemView.findViewById(R.id.sector);
image= itemView.findViewById(R.id.img_sector);
}
}
public ServicesAdapter(Context ctx,List<sector_services> sectors) {
this.inflater = LayoutInflater.from(ctx);
this.sectors = sectors;
}
@NonNull
@Override
public RecyclerVH onCreateViewHolder(@NonNull ViewGroup parent,int viewType) {
View view = inflater.inflate(R.layout.model_list_services,parent,false);
return new RecyclerVH(view);
}
@Override
public void onBindViewHolder(@NonNull RecyclerVH holder,int position) {
holder.sectorName.setText(sectors.get(position).getName());
Picasso.with(c)
.load(sectors.get(position).getImage()).into(holder.image);
}
@Override
public int getItemCount() {
return sectors.size();
}
}
我的片段
RecyclerView rv;
List<sector_services> sectors;
private static String URL = "http://10.0.2.2/rankit_api/test.php";
Adapter adapter;
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {
//Inflate the layout for this fragment,the layout contains the list view
View view = inflater.inflate(R.layout.fragment_services,container,false);
rv = view.findViewById(R.id.recycler_view_service);
rv.setHasFixedSize(true);
sectors = new ArrayList<>();
LinearLayoutManager llm = new LinearLayoutManager(getActivity());
llm.setOrientation(LinearLayoutManager.VERTICAL);
rv.setLayoutManager(llm);
rv.setAdapter(new ServicesAdapter(getActivity(),sectors));
//rv.setAdapter((RecyclerView.Adapter) adapter);
extractSectors();
return view;
}
private void extractSectors() {
RequestQueue queue = Volley.newRequestQueue(getActivity());
JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.GET,URL,(JSONArray) null,new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
for (int i = 0; i < response.length(); i++) {
try {
JSONObject sectorObject = response.getJSONObject(i);
sector_services sector = new sector_services();
sector.setName(sectorObject.getString("sector_name"));
sector.setImage(sectorObject.getString("sector_image"));
sectors.add(sector);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
},new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("tag","onErrorResponse: " + error.getMessage());
}
});
queue.add(jsonArrayRequest);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。