当前位置: 首页 > 知识库问答 >
问题:

RecyclerView:未附加适配器;跳过布局错误

邹正阳
2023-03-14

我已经提到了相当少的帖子关于这个错误,但没有一个能够解决我的问题。我有一个片断,在这里我使用修改获得了我的值,我已经在下面显示了:

public class Tab extends Fragment
{
public String nlink;
public RecyclerView recycler;
public List<Initialise> item;
public Adapter adapter;
public Context mContext;

public Tab(Context mContext)
{
    this.mContext=mContext;
}


@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState)
{
    View v= inflater.inflate(R.layout.tab_layout,container,false);
    item = new ArrayList<>();
    recycler=(RecyclerView)v.findViewById(R.id.recycler);
    recycler.setHasFixedSize(true);
    LinearLayoutManager llm = new LinearLayoutManager(getContext());
    llm.setOrientation(LinearLayoutManager.VERTICAL);
    recycler.setLayoutManager(llm);
    recycler.setItemAnimator(new DefaultItemAnimator());
    adapter = new Adapter(item,mContext);
    recycler.setAdapter(adapter);
    return v;
}

@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState)
{
    super.onViewCreated(view, savedInstanceState);
    Bundle bundle=getArguments();
    nlink=bundle.getString("link");
    Retrofit adapter = new Retrofit.Builder()
            .baseUrl(ItemAdapter.ROOT_URL)
            .addConverterFactory(GsonConverterFactory.create())
            .build();

    Service Serviceapi = adapter.create(Service.class);
    Serviceapi.getitem(nlink).enqueue(new Callback<Item>()
    {
        @Override
        public void onResponse(Call<Item> call, Response<Item> response)
        {
            for(int i=0;i<response.body().getitems().size();i++)
            {
                item.add(new Initialise(response.body().getitems().get(i).getTitle(),response.body().getitems().get(i).getDate(),response.body().getitems().get(i).getcount(),response.body().getitems().get(i).getImage()));
            }
            adapter.notifyDataSetChanged();
        }

        @Override
        public void onFailure(Call<Item> call, Throwable t)
        {

        }
    });
}
}

下面是我的RecyclerView适配器类:

public class Adapter extends RecyclerView.Adapter<Adapter.Holder>
{
static class Holder extends RecyclerView.ViewHolder
{
    CardView cv;
    ImageView thum_img;
    TextView thum_time;
    TextView thum_count;
    TextView thum_text;

    Holder(View itemView)
    {
        super(itemView);
        cv = (CardView)itemView.findViewById(R.id.cv);
        thum_img = (ImageView)itemView.findViewById(R.id.thum_img);
        thum_time = (TextView)itemView.findViewById(R.id.thum_time);
        thum_count = (TextView)itemView.findViewById(R.id.thum_scount);
        thum_text = (TextView)itemView.findViewById(R.id.thum_text);
    }
}

private List<Initialise> item;
private Context mContext;

public Adapter(List<Initialise> item, Context mContext)
{
    this.item=item;
    this.mContext=mContext;
}

@Override
public Holder onCreateViewHolder(ViewGroup parent, int viewType)
{
    View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.tab_layout, parent, false);
    return new Holder(v);
}

@Override
public void onBindViewHolder(Holder holder, int position)
{      
    holder.thum_text.setText(item.get(position).gettitle());
    holder.thum_time.setText(item.get(position).gettime());
    holder.thum_count.setText(item.get(position).getcount());
    Picasso.with(mContext).load(item.get(position).getstoryImage()).resize(120, 60).into(holder.thum_img);
}

@Override
public int getItemCount()
{
    return item.size();
}
}

共有1个答案

向修谨
2023-03-14

尝试编辑OnCreateViewHolder()方法

View layoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.tab_layout,parent,false);
        Holder rcv = new Holder(layoutView,mContext);
        return rcv;
 类似资料:
  • 我一直在stackoverflow和这篇博文上阅读不同的答案,并试图实现它们的解决方案,但我仍然得到错误: 片段中的布局: 和项目的布局: 我做错了什么? 编辑:以下是适配器:

  • 我收到以下错误:“RecyclerView:未附加适配器;跳过布局”但我已附加适配器...我试过很多不同的方法,但都解决不了这个错误。 我正在使用Volley库获取数据。当我启动activity时,直到结束只有进度条可见,并且收到上面的Logcat消息。我已经在中添加了带有适配器的。你能帮帮我吗? 下面是我的代码: 主要活动 地震适配器 mainactivity.xml EquestakerAw.

  • 我正在使用一个片段来查看一个RecyclerView。但我总是犯这个错误 E/RecyclerView:未附加适配器;跳过布局 我已经为我的recyclerview创建了一个适配器,但布局没有显示。php后端运行良好。谁能帮帮我。下面是我的片段和适配器代码 Tips.java TipAdapter.java

  • 我需要帮助,我有一个错误,那就是这个:E/recyclerView:没有连接适配器;跳过布局 代码: 公共视图onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState){View View=inflater.inflate(r.layout.fragment_chats,container,

  • 我有一个回收演示,但当我运行该演示时,总是显示错误消息“recycleview recycerview:No adapter attached;skipping layout” 这是我主要的activity课 这是我的RecyclerViewAdapter代码

  • 当应用程序启动时,我得到一个空白屏幕,当我检查日志时,我得到:E/回收人员视图:没有连接适配器;跳过布局错误 我不知道为什么?任何想法,它似乎没有附加回收器视图或添加任何数据,我附加了Main活动、DataAdapter和数据类。 主要活动 数据适配器 下面是我的数据类,将从中提取数据 我ncluded.java 收集器和设置器 这是jsonResponse类,在接口中引用 感谢任何帮助。