Recyclerview not displaying results on fragment

I'm trying to use recyclerview on a snippet with a dummy data sample, but it doesn't display any results in the snippets I made, but when I tried it on activity, the desired results show up in the class activity. Here is the method fragment manager I made to replace each fragment:

public void changeFragment(Fragment targetFragment) {
    getSupportFragmentManager().beginTransaction()
            .replace(R.id.main_fragment, targetFragment)
            .setTransitionStyle(FragmentTransaction.TRANSIT_FRAGMENT_FADE)
            .commit();
}

      

and this is my current line of code to access the target snippet:

setOnItemClickListener(new DrawerItem.OnItemClickListener() {
                        @Override
                        public void onClick(DrawerItem drawerItem, long l, int i) {
                            changeFragment(new NewsFeedSantri().newInstance());
                            closeDrawer();
                        }
                    })

      

This is my adapter for creating dummy data:

public class NewsFeedAdapter extends RecyclerView.Adapter<NewsFeedAdapter.NewsFeedHolder> {

private List<NewsFeedItem> newsList;

public NewsFeedAdapter() {
    super();
    newsList = new ArrayList<NewsFeedItem>();
    NewsFeedItem nf = new NewsFeedItem();
    for (int i=1; i <= 20; i++) {
        nf.setNewsTittle("Judul Berita");
        nf.setNewsDate("20/12/2015");
        nf.setNewsContent("Ini lorem ipsum dll");
        newsList.add(nf);
    }
}

@Override
public NewsFeedHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View itemView = LayoutInflater.
            from(parent.getContext()).
            inflate(R.layout.base_newsfeed_item, parent, false);
    NewsFeedHolder viewHolder = new NewsFeedHolder(itemView);
    return viewHolder;
}

@Override
public void onBindViewHolder(NewsFeedHolder holder, int position) {
    NewsFeedItem newsfeed = newsList.get(position);
    holder.viewTittle.setText(newsfeed.getNewsTittle());
    holder.viewDate.setText(newsfeed.getNewsDate());
    holder.viewContent.setText(newsfeed.getNewsContent());
}

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

public class NewsFeedHolder extends RecyclerView.ViewHolder {
    protected TextView viewTittle;
    protected TextView viewUrl;
    protected TextView viewContent;
    protected TextView viewDate;

    public NewsFeedHolder(View itemView) {
        super(itemView);
        viewTittle = (TextView) itemView.findViewById(R.id.news_tittle);
        viewDate = (TextView) itemView.findViewById(R.id.news_date);
        viewContent = (TextView) itemView.findViewById(R.id.news_content);
    }
} 

      

This is the NewsFeedItem class:

public class NewsFeedItem {
protected String idNewsTittle;
protected String newsTittle;
protected String newsUrl;
protected String newsContent;
protected String newsDate;

public String getIdNewsTittle() {
    return idNewsTittle;
}

public void setIdNewsTittle(String idNewsTittle) {
    this.idNewsTittle = idNewsTittle;
}

public String getNewsTittle() {
    return newsTittle;
}

public void setNewsTittle(String newsTittle) {
    this.newsTittle = newsTittle;
}

public String getNewsUrl() {
    return newsUrl;
}

public void setNewsUrl(String newsUrl) {
    this.newsUrl = newsUrl;
}

public String getNewsContent() {
    return newsContent;
}

public void setNewsContent(String newsContent) {
    this.newsContent = newsContent;
}

public String getNewsDate() {
    return newsDate;
}

public void setNewsDate(String newsDate) {
    this.newsDate = newsDate;
}

      

And this is my snippet:

public class NewsFeedSantri extends Fragment {

private RecyclerView recList;

public static NewsFeedSantri newInstance() {
    NewsFeedSantri fragment = new NewsFeedSantri();
    Bundle args = new Bundle();
    fragment.setArguments(args);
    return fragment;
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.base_newsfeed_rcview, container, false);
    recList = (RecyclerView) rootView.findViewById(R.id.news_rcview);
    recList.setHasFixedSize(true);
    LinearLayoutManager llm = new LinearLayoutManager(getActivity());
    llm.setOrientation(LinearLayoutManager.VERTICAL);
    recList.setLayoutManager(llm);
    NewsFeedAdapter nfa = new NewsFeedAdapter();
    recList.setAdapter(nfa);
    return rootView;
} }

      

The error doesn't occur, that's what confuses me, am I missing something?

+3


source to share





All Articles