首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >回收者视图未在碎片中显示

问回收者视图未在碎片中显示
EN

Stack Overflow用户
提问于 2018-09-25 09:05:35
回答 1查看 334关注 0票数 2

我有三个片段:片段用户,片段主页和片段进度。

我试着在主页中实现一个可回收图像的回收视图--什么都没有发生,也没有错误显示在logcat中,我不知道我做错了什么。

1.这是我的自定义适配器:

代码语言:javascript
复制
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import java.util.Collections;
import java.util.List;

public class CustomAdapter extends RecyclerView.Adapter<CustomAdapter.MyViewHolder>{
@NonNull

private LayoutInflater inflator;
List<Information> data= Collections.emptyList();

public CustomAdapter(Context context, List<Information> data){
    inflator= LayoutInflater.from(context);
}
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    View view=inflator.inflate(R.layout.customlayout, parent,false);
    MyViewHolder holder=new MyViewHolder(view);
    return holder;
}

@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {

    Information current=data.get(position);
    holder.icon.setImageResource(current.images);
    holder.title.setText(current.title);

}

@Override
public int getItemCount() {
    return 0;
}

class MyViewHolder extends RecyclerView.ViewHolder{

    ImageView icon;
    TextView title;
    public MyViewHolder(View itemView) {
        super(itemView);

        icon = (ImageView) itemView.findViewById(R.id.listicon);
        title = (TextView) itemView.findViewById(R.id.textView);
    }
}
}
  1. 这是我的碎片 进口android.os.Bundle;进口android.support.v4.app.Fragment;进口android.support.v4.app.Fragment;进口android.view.LayoutInflater;进口android.view.View;进口android.view.ViewGroup;进口android.widget.ArrayAdapter;进口android.widget.BaseAdapter;进口android.widget.ImageView;进口android.widget.ListView;进口android.widget.SimpleAdapter;进口java.util.ArrayList;进口java.util.HashMap;进口java.util.List;公共类HomeFragment扩展片段{私有静态最终字符串ARG_PARAM1 = "param1";私有静态最终字符串ARG_PARAM2 = "param2";私有CustomAdapter适配器;int[]映像= {R.drawable.abs、R.drawable.arms、R.drawable.back、R.drawable.chest、R.drawable.full、R.drawable.legs};public HomeFragment()公共静态HomeFragment newInstance(String param1,String param2) { HomeFragment片段=新HomeFragment();Bundle args =新Bundle();args.putString(ARG_PARAM1,param1);args.putString(ARG_PARAM2,param2);fragment.setArguments(args);返回片段;} @Override (Bundle savedInstanceState) {super.onCreate(OnCreate);if (HomeFragment() != null) {=()en21#();mParam2 = getArguments().getString(ARG_PARAM2);} public View onCreateView(LayoutInflater充气器,ViewGroup容器,Bundle savedInstanceState) { View layout = inflater.inflate(R.layout.fragment_home,容器,false);recyclerView =(RecyclerView) layout.findViewById(R.id.drawerList);适配器= new CustomAdapter(getActivity(),getData();getActivity(适配器));recyclerView.setAdapter(新(();返回布局;}公共静态列表getData(){ List data =新ArrayList<>();int []图标= {R.drawable.abs、R.drawable.arms、R.drawable.back、R.drawable.chest、R.drawable.full、R.drawable.legs};String[] titles={"Abs“、"Arms”、"Back“、”胸部“、"full”、“腿”};for (int i=0;i

我看不出我做错了什么。

  1. fragmenthome.xml

4.Custom_layout.xml

代码语言:javascript
复制
    <RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">


<ImageView
    android:id="@+id/listicon"
    android:layout_width="match_parent"
    android:layout_height="150dp"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    app:srcCompat="@mipmap/ic_launcher" />

<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="62dp"
    android:text="TextView" />

​

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-25 09:32:22

您没有在适配器的构造函数中分配数据

代码语言:javascript
复制
this.data = data;

那么您的项目计数应该是

代码语言:javascript
复制
  data.size(); 

不应该是0。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52494408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档