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
No one has answered this question yet
Check out similar questions: