0

私はこのエラーに関する記事をほとんど紹介していませんが、誰も私の問題を解決できませんでした。私は以下を示している改造を使用して、私の値を取得フラグメントいますRecyclerView:アダプタが接続されていません。レイアウトをスキップするエラー

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(); 
} 
} 

を取得しています:

E/RecyclerView: No adapter attached; skipping layout

マイカードビューが表示されず、ビューページが空です。どこが間違っていますか?

+0

を編集しようか –

+0

E/RecyclerView:アダプターは接続されていません。レイアウトをスキップする –

+0

サーバからレコードを取得し、フラグメントの 'onCreate()'メソッド内でArrayListを初期化し、 'onViewCreated()'メソッドの中には入れないでください。あなたのコードでアダプタが空のArrayListで初期化されました。これは問題です – Shashanth

答えて

0

は、どのようなエラーが表示されている?onCreateViewHolder()方法

View layoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.tab_layout,parent,false); 
     Holder rcv = new Holder(layoutView,mContext); 
     return rcv; 
+0

追加のパラメータとしてHolderクラスのコンテキストを渡す必要がありますか? Holderクラスで取得する際に、コンテキストに割り当てるべきは何ですか? –

+0

私の投稿を編集しました@sridhar –

+0

はいそのコードを試してください –

関連する問題