Задать вопрос
@dimasik100200

Как написать адаптер для CardView?

Вот например у меня есть карточка
5a1d9c326dd5c506134654.png
Однако при запуске приложения половина содержимого не появляется. Как правильно дописать адаптер, чтобы все появилось?
5a1d9d3f9edfa962026543.jpeg
Вот полный код фрагмента, где должна располагаться карточка
package com.example.asus.testapp;


import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.view.ViewGroup;

/**
 * A simple {@link Fragment} subclass.
 */
public class NewsFragment extends Fragment {
    public NewsFragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        RecyclerView recyclerView = (RecyclerView) inflater.inflate(
                R.layout.recycler_view, container, false);
        ContentAdapter adapter = new ContentAdapter(recyclerView.getContext());
        recyclerView.setAdapter(adapter);
        recyclerView.setHasFixedSize(true);
        recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
        return recyclerView;
    }
    // toolbar
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setHasOptionsMenu(true); // This Fragment has a menu
    }

    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater){
        inflater.inflate(R.menu.menu_news, menu); // Inflate the Fragment's menu
        super.onCreateOptionsMenu(menu, inflater);
    }
    // recycler
    public static class ViewHolder extends RecyclerView.ViewHolder {
        public ViewHolder(LayoutInflater inflater, ViewGroup parent) {
            super(inflater.inflate(R.layout.card_feed, parent, false));
        }
    }
    public static class ContentAdapter extends RecyclerView.Adapter<ViewHolder> {
        // Установим количество элементов списка в RecyclerView.
        private static final int LENGTH = 18;

        public ContentAdapter(Context context) {
        }

        @Override
        public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            return new ViewHolder(LayoutInflater.from(parent.getContext()), parent);
        }

        @Override
        public void onBindViewHolder(ViewHolder holder, int position) {
            // no-op
        }

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

}
  • Вопрос задан
  • 320 просмотров
Подписаться 1 Средний 4 комментария
Пригласить эксперта
Ответы на вопрос 1
@klim76
android/java/sql
тут всё разжёвано
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
25 дек. 2024, в 08:00
20000 руб./за проект
25 дек. 2024, в 07:53
20000 руб./за проект
25 дек. 2024, в 07:45
20000 руб./за проект