RecyclerView Inside Adapter Invisible Upon Refresh
Things being invisible inside RVs seem to be a common problem, but I've done tons of searching and can't figure out what's wrong.
I have a fragment that contains a RecyclerView of Adapters. Inside each adapter is another RecyclerView that displays tags or categories (adapters).
When I swipe to refresh the main fragment, the top level of adapters displays fine. But the inside RecyclerView disappears. I am notifying of a data set change, and I have checked to make sure that the data is indeed being sent to the adapter upon refresh (it is).
Before refresh
After refresh
Top level fragment:
public class AdminReportCardsFragment extends Fragment {
RecyclerView rv;
AdminReportCardAdapter adapter;
SwipeRefreshLayout swipeContainer;
//Filter Option Data
private List<String> newCategories;
public AdminReportCardsFragment(){
}
@Override
public View onCreateView(@NonNull LayoutInflater flater, ViewGroup tainer, Bundle savedInstanceState){
View v = flater.inflate(R.layout.fragment_admin_reportcards, tainer, false);
adapter = new AdminReportCardAdapter(getContext());
rv = v.findViewById(R.id.admin_reports_rv);
adapter.updateReports(Client.reportMap.values());
rv.setAdapter(adapter);
LinearLayoutManager llm = new LinearLayoutManager(getContext());
llm.setOrientation(LinearLayoutManager.VERTICAL);
rv.setLayoutManager(llm);
swipeContainer = v.findViewById(R.id.admin_reports_sr);
swipeContainer.setOnRefreshListener(this::actionSwipeRefresh);
return v;
}
public void refreshReports() {
//network stuff, callback is this line
adapter.updateReports(Client.reportMap.values());
}
private void actionSwipeRefresh() {
swipeContainer.setRefreshing(true);
{
refreshReports();
}
if(swipeContainer.isRefreshing())
swipeContainer.setRefreshing(false);
}
Adapter for top level RV:
public class AdminReportCardAdapter extends RecyclerView.Adapter<AdminReportCardAdapter.ReportViewHolder>{
Context ctx;
List<Report> data;
public AdminReportCardAdapter(Context c){
ctx = c;
data = new ArrayList<>();
}
public void updateReports(Collection<Report> c){
data.clear();
data.addAll(c);
notifyDataSetChanged();
}
@NonNull
@Override
public AdminReportCardAdapter.ReportViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(ctx).inflate(R.layout.adapter_reportcard, parent, false);
ReportViewHolder vh = new ReportViewHolder(v);
LinearLayoutManager llm = new LinearLayoutManager(ctx);
llm.setOrientation(LinearLayoutManager.HORIZONTAL);
vh.catAdapter = new CategoryTagAdapter(false);
vh.rv.setAdapter(vh.catAdapter);
vh.rv.setLayoutManager(llm);
return vh;
}
@Override
public void onBindViewHolder(@NonNull ReportViewHolder holder, int position) {
Report r = data.get(position);
holder.tvReportID.setText(r.reportId);
holder.tvStatus.setText(r.status);
holder.tvSubmitted.setText(Util.formatTimestamp(r.creationTimestamp));
holder.catAdapter.updateCategories(r.categories);
holder.cardContainer.setOnClickListener(v -> {
Client.activeReport = data.get(holder.getAdapterPosition());
ctx.startActivity(new Intent(ctx, AdminReportDetailsActivity.class));
});
}
@Override
public int getItemCount() { return data.size(); }
class ReportViewHolder extends RecyclerView.ViewHolder {
RecyclerView rv;
CategoryTagAdapter catAdapter;
CardView cardContainer;
TextView tvReportID, tvSubmitted, tvStatus;
public ReportViewHolder(View v) {
super(v);
cardContainer = itemView.findViewById(R.id.reportcard_cv);
tvReportID = itemView.findViewById(R.id.reportcard_alt_id);
tvStatus = itemView.findViewById(R.id.reportcard_alt_status);
tvSubmitted = itemView.findViewById(R.id.reportcard_alt_action);
rv = itemView.findViewById(R.id.reportcard_rv_categories);
}
}
}
Lastly, the inside adapter which is mysteriously vanishing...
public class CategoryTagAdapter extends RecyclerView.Adapter<CategoryTagAdapter.CategoryTagViewHolder>{
int layoutID;
private List<String> categoryList;
public CategoryTagAdapter(Boolean isTag){
categoryList = new ArrayList<>();
if(!isTag) layoutID = R.layout.adapter_category;
else layoutID = R.layout.adapter_tag;
}
@NonNull
@Override
public CategoryTagViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(layoutID, parent, false);
return new CategoryTagViewHolder(v, layoutID);
}
@Override
public void onBindViewHolder(@NonNull CategoryTagViewHolder holder, int position) {
System.out.println("CAT BIND");
holder.tv.setText(categoryList.get(position));
}
@Override
public int getItemCount() {
return categoryList.size();
}
public void updateCategories(Collection<String> c){
categoryList.clear();
categoryList.addAll(c);
notifyDataSetChanged();
}
class CategoryTagViewHolder extends RecyclerView.ViewHolder{
TextView tv;
public CategoryTagViewHolder(View itemView, int layoutID){
super(itemView);
if(layoutID == R.layout.adapter_category)
tv = itemView.findViewById(R.id.adapter_alt_category);
else
tv = itemView.findViewById(R.id.adapter_alt_tag);
}
}
My layouts are formatted via ConstraintLayout and I ensured the Recyclerview is bound. Should the secondary Adapter be a variable inside its parent? Or is it in the proper place in the viewholder?
java android android-fragments android-recyclerview android-adapter
add a comment |
Things being invisible inside RVs seem to be a common problem, but I've done tons of searching and can't figure out what's wrong.
I have a fragment that contains a RecyclerView of Adapters. Inside each adapter is another RecyclerView that displays tags or categories (adapters).
When I swipe to refresh the main fragment, the top level of adapters displays fine. But the inside RecyclerView disappears. I am notifying of a data set change, and I have checked to make sure that the data is indeed being sent to the adapter upon refresh (it is).
Before refresh
After refresh
Top level fragment:
public class AdminReportCardsFragment extends Fragment {
RecyclerView rv;
AdminReportCardAdapter adapter;
SwipeRefreshLayout swipeContainer;
//Filter Option Data
private List<String> newCategories;
public AdminReportCardsFragment(){
}
@Override
public View onCreateView(@NonNull LayoutInflater flater, ViewGroup tainer, Bundle savedInstanceState){
View v = flater.inflate(R.layout.fragment_admin_reportcards, tainer, false);
adapter = new AdminReportCardAdapter(getContext());
rv = v.findViewById(R.id.admin_reports_rv);
adapter.updateReports(Client.reportMap.values());
rv.setAdapter(adapter);
LinearLayoutManager llm = new LinearLayoutManager(getContext());
llm.setOrientation(LinearLayoutManager.VERTICAL);
rv.setLayoutManager(llm);
swipeContainer = v.findViewById(R.id.admin_reports_sr);
swipeContainer.setOnRefreshListener(this::actionSwipeRefresh);
return v;
}
public void refreshReports() {
//network stuff, callback is this line
adapter.updateReports(Client.reportMap.values());
}
private void actionSwipeRefresh() {
swipeContainer.setRefreshing(true);
{
refreshReports();
}
if(swipeContainer.isRefreshing())
swipeContainer.setRefreshing(false);
}
Adapter for top level RV:
public class AdminReportCardAdapter extends RecyclerView.Adapter<AdminReportCardAdapter.ReportViewHolder>{
Context ctx;
List<Report> data;
public AdminReportCardAdapter(Context c){
ctx = c;
data = new ArrayList<>();
}
public void updateReports(Collection<Report> c){
data.clear();
data.addAll(c);
notifyDataSetChanged();
}
@NonNull
@Override
public AdminReportCardAdapter.ReportViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(ctx).inflate(R.layout.adapter_reportcard, parent, false);
ReportViewHolder vh = new ReportViewHolder(v);
LinearLayoutManager llm = new LinearLayoutManager(ctx);
llm.setOrientation(LinearLayoutManager.HORIZONTAL);
vh.catAdapter = new CategoryTagAdapter(false);
vh.rv.setAdapter(vh.catAdapter);
vh.rv.setLayoutManager(llm);
return vh;
}
@Override
public void onBindViewHolder(@NonNull ReportViewHolder holder, int position) {
Report r = data.get(position);
holder.tvReportID.setText(r.reportId);
holder.tvStatus.setText(r.status);
holder.tvSubmitted.setText(Util.formatTimestamp(r.creationTimestamp));
holder.catAdapter.updateCategories(r.categories);
holder.cardContainer.setOnClickListener(v -> {
Client.activeReport = data.get(holder.getAdapterPosition());
ctx.startActivity(new Intent(ctx, AdminReportDetailsActivity.class));
});
}
@Override
public int getItemCount() { return data.size(); }
class ReportViewHolder extends RecyclerView.ViewHolder {
RecyclerView rv;
CategoryTagAdapter catAdapter;
CardView cardContainer;
TextView tvReportID, tvSubmitted, tvStatus;
public ReportViewHolder(View v) {
super(v);
cardContainer = itemView.findViewById(R.id.reportcard_cv);
tvReportID = itemView.findViewById(R.id.reportcard_alt_id);
tvStatus = itemView.findViewById(R.id.reportcard_alt_status);
tvSubmitted = itemView.findViewById(R.id.reportcard_alt_action);
rv = itemView.findViewById(R.id.reportcard_rv_categories);
}
}
}
Lastly, the inside adapter which is mysteriously vanishing...
public class CategoryTagAdapter extends RecyclerView.Adapter<CategoryTagAdapter.CategoryTagViewHolder>{
int layoutID;
private List<String> categoryList;
public CategoryTagAdapter(Boolean isTag){
categoryList = new ArrayList<>();
if(!isTag) layoutID = R.layout.adapter_category;
else layoutID = R.layout.adapter_tag;
}
@NonNull
@Override
public CategoryTagViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(layoutID, parent, false);
return new CategoryTagViewHolder(v, layoutID);
}
@Override
public void onBindViewHolder(@NonNull CategoryTagViewHolder holder, int position) {
System.out.println("CAT BIND");
holder.tv.setText(categoryList.get(position));
}
@Override
public int getItemCount() {
return categoryList.size();
}
public void updateCategories(Collection<String> c){
categoryList.clear();
categoryList.addAll(c);
notifyDataSetChanged();
}
class CategoryTagViewHolder extends RecyclerView.ViewHolder{
TextView tv;
public CategoryTagViewHolder(View itemView, int layoutID){
super(itemView);
if(layoutID == R.layout.adapter_category)
tv = itemView.findViewById(R.id.adapter_alt_category);
else
tv = itemView.findViewById(R.id.adapter_alt_tag);
}
}
My layouts are formatted via ConstraintLayout and I ensured the Recyclerview is bound. Should the secondary Adapter be a variable inside its parent? Or is it in the proper place in the viewholder?
java android android-fragments android-recyclerview android-adapter
add a comment |
Things being invisible inside RVs seem to be a common problem, but I've done tons of searching and can't figure out what's wrong.
I have a fragment that contains a RecyclerView of Adapters. Inside each adapter is another RecyclerView that displays tags or categories (adapters).
When I swipe to refresh the main fragment, the top level of adapters displays fine. But the inside RecyclerView disappears. I am notifying of a data set change, and I have checked to make sure that the data is indeed being sent to the adapter upon refresh (it is).
Before refresh
After refresh
Top level fragment:
public class AdminReportCardsFragment extends Fragment {
RecyclerView rv;
AdminReportCardAdapter adapter;
SwipeRefreshLayout swipeContainer;
//Filter Option Data
private List<String> newCategories;
public AdminReportCardsFragment(){
}
@Override
public View onCreateView(@NonNull LayoutInflater flater, ViewGroup tainer, Bundle savedInstanceState){
View v = flater.inflate(R.layout.fragment_admin_reportcards, tainer, false);
adapter = new AdminReportCardAdapter(getContext());
rv = v.findViewById(R.id.admin_reports_rv);
adapter.updateReports(Client.reportMap.values());
rv.setAdapter(adapter);
LinearLayoutManager llm = new LinearLayoutManager(getContext());
llm.setOrientation(LinearLayoutManager.VERTICAL);
rv.setLayoutManager(llm);
swipeContainer = v.findViewById(R.id.admin_reports_sr);
swipeContainer.setOnRefreshListener(this::actionSwipeRefresh);
return v;
}
public void refreshReports() {
//network stuff, callback is this line
adapter.updateReports(Client.reportMap.values());
}
private void actionSwipeRefresh() {
swipeContainer.setRefreshing(true);
{
refreshReports();
}
if(swipeContainer.isRefreshing())
swipeContainer.setRefreshing(false);
}
Adapter for top level RV:
public class AdminReportCardAdapter extends RecyclerView.Adapter<AdminReportCardAdapter.ReportViewHolder>{
Context ctx;
List<Report> data;
public AdminReportCardAdapter(Context c){
ctx = c;
data = new ArrayList<>();
}
public void updateReports(Collection<Report> c){
data.clear();
data.addAll(c);
notifyDataSetChanged();
}
@NonNull
@Override
public AdminReportCardAdapter.ReportViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(ctx).inflate(R.layout.adapter_reportcard, parent, false);
ReportViewHolder vh = new ReportViewHolder(v);
LinearLayoutManager llm = new LinearLayoutManager(ctx);
llm.setOrientation(LinearLayoutManager.HORIZONTAL);
vh.catAdapter = new CategoryTagAdapter(false);
vh.rv.setAdapter(vh.catAdapter);
vh.rv.setLayoutManager(llm);
return vh;
}
@Override
public void onBindViewHolder(@NonNull ReportViewHolder holder, int position) {
Report r = data.get(position);
holder.tvReportID.setText(r.reportId);
holder.tvStatus.setText(r.status);
holder.tvSubmitted.setText(Util.formatTimestamp(r.creationTimestamp));
holder.catAdapter.updateCategories(r.categories);
holder.cardContainer.setOnClickListener(v -> {
Client.activeReport = data.get(holder.getAdapterPosition());
ctx.startActivity(new Intent(ctx, AdminReportDetailsActivity.class));
});
}
@Override
public int getItemCount() { return data.size(); }
class ReportViewHolder extends RecyclerView.ViewHolder {
RecyclerView rv;
CategoryTagAdapter catAdapter;
CardView cardContainer;
TextView tvReportID, tvSubmitted, tvStatus;
public ReportViewHolder(View v) {
super(v);
cardContainer = itemView.findViewById(R.id.reportcard_cv);
tvReportID = itemView.findViewById(R.id.reportcard_alt_id);
tvStatus = itemView.findViewById(R.id.reportcard_alt_status);
tvSubmitted = itemView.findViewById(R.id.reportcard_alt_action);
rv = itemView.findViewById(R.id.reportcard_rv_categories);
}
}
}
Lastly, the inside adapter which is mysteriously vanishing...
public class CategoryTagAdapter extends RecyclerView.Adapter<CategoryTagAdapter.CategoryTagViewHolder>{
int layoutID;
private List<String> categoryList;
public CategoryTagAdapter(Boolean isTag){
categoryList = new ArrayList<>();
if(!isTag) layoutID = R.layout.adapter_category;
else layoutID = R.layout.adapter_tag;
}
@NonNull
@Override
public CategoryTagViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(layoutID, parent, false);
return new CategoryTagViewHolder(v, layoutID);
}
@Override
public void onBindViewHolder(@NonNull CategoryTagViewHolder holder, int position) {
System.out.println("CAT BIND");
holder.tv.setText(categoryList.get(position));
}
@Override
public int getItemCount() {
return categoryList.size();
}
public void updateCategories(Collection<String> c){
categoryList.clear();
categoryList.addAll(c);
notifyDataSetChanged();
}
class CategoryTagViewHolder extends RecyclerView.ViewHolder{
TextView tv;
public CategoryTagViewHolder(View itemView, int layoutID){
super(itemView);
if(layoutID == R.layout.adapter_category)
tv = itemView.findViewById(R.id.adapter_alt_category);
else
tv = itemView.findViewById(R.id.adapter_alt_tag);
}
}
My layouts are formatted via ConstraintLayout and I ensured the Recyclerview is bound. Should the secondary Adapter be a variable inside its parent? Or is it in the proper place in the viewholder?
java android android-fragments android-recyclerview android-adapter
Things being invisible inside RVs seem to be a common problem, but I've done tons of searching and can't figure out what's wrong.
I have a fragment that contains a RecyclerView of Adapters. Inside each adapter is another RecyclerView that displays tags or categories (adapters).
When I swipe to refresh the main fragment, the top level of adapters displays fine. But the inside RecyclerView disappears. I am notifying of a data set change, and I have checked to make sure that the data is indeed being sent to the adapter upon refresh (it is).
Before refresh
After refresh
Top level fragment:
public class AdminReportCardsFragment extends Fragment {
RecyclerView rv;
AdminReportCardAdapter adapter;
SwipeRefreshLayout swipeContainer;
//Filter Option Data
private List<String> newCategories;
public AdminReportCardsFragment(){
}
@Override
public View onCreateView(@NonNull LayoutInflater flater, ViewGroup tainer, Bundle savedInstanceState){
View v = flater.inflate(R.layout.fragment_admin_reportcards, tainer, false);
adapter = new AdminReportCardAdapter(getContext());
rv = v.findViewById(R.id.admin_reports_rv);
adapter.updateReports(Client.reportMap.values());
rv.setAdapter(adapter);
LinearLayoutManager llm = new LinearLayoutManager(getContext());
llm.setOrientation(LinearLayoutManager.VERTICAL);
rv.setLayoutManager(llm);
swipeContainer = v.findViewById(R.id.admin_reports_sr);
swipeContainer.setOnRefreshListener(this::actionSwipeRefresh);
return v;
}
public void refreshReports() {
//network stuff, callback is this line
adapter.updateReports(Client.reportMap.values());
}
private void actionSwipeRefresh() {
swipeContainer.setRefreshing(true);
{
refreshReports();
}
if(swipeContainer.isRefreshing())
swipeContainer.setRefreshing(false);
}
Adapter for top level RV:
public class AdminReportCardAdapter extends RecyclerView.Adapter<AdminReportCardAdapter.ReportViewHolder>{
Context ctx;
List<Report> data;
public AdminReportCardAdapter(Context c){
ctx = c;
data = new ArrayList<>();
}
public void updateReports(Collection<Report> c){
data.clear();
data.addAll(c);
notifyDataSetChanged();
}
@NonNull
@Override
public AdminReportCardAdapter.ReportViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(ctx).inflate(R.layout.adapter_reportcard, parent, false);
ReportViewHolder vh = new ReportViewHolder(v);
LinearLayoutManager llm = new LinearLayoutManager(ctx);
llm.setOrientation(LinearLayoutManager.HORIZONTAL);
vh.catAdapter = new CategoryTagAdapter(false);
vh.rv.setAdapter(vh.catAdapter);
vh.rv.setLayoutManager(llm);
return vh;
}
@Override
public void onBindViewHolder(@NonNull ReportViewHolder holder, int position) {
Report r = data.get(position);
holder.tvReportID.setText(r.reportId);
holder.tvStatus.setText(r.status);
holder.tvSubmitted.setText(Util.formatTimestamp(r.creationTimestamp));
holder.catAdapter.updateCategories(r.categories);
holder.cardContainer.setOnClickListener(v -> {
Client.activeReport = data.get(holder.getAdapterPosition());
ctx.startActivity(new Intent(ctx, AdminReportDetailsActivity.class));
});
}
@Override
public int getItemCount() { return data.size(); }
class ReportViewHolder extends RecyclerView.ViewHolder {
RecyclerView rv;
CategoryTagAdapter catAdapter;
CardView cardContainer;
TextView tvReportID, tvSubmitted, tvStatus;
public ReportViewHolder(View v) {
super(v);
cardContainer = itemView.findViewById(R.id.reportcard_cv);
tvReportID = itemView.findViewById(R.id.reportcard_alt_id);
tvStatus = itemView.findViewById(R.id.reportcard_alt_status);
tvSubmitted = itemView.findViewById(R.id.reportcard_alt_action);
rv = itemView.findViewById(R.id.reportcard_rv_categories);
}
}
}
Lastly, the inside adapter which is mysteriously vanishing...
public class CategoryTagAdapter extends RecyclerView.Adapter<CategoryTagAdapter.CategoryTagViewHolder>{
int layoutID;
private List<String> categoryList;
public CategoryTagAdapter(Boolean isTag){
categoryList = new ArrayList<>();
if(!isTag) layoutID = R.layout.adapter_category;
else layoutID = R.layout.adapter_tag;
}
@NonNull
@Override
public CategoryTagViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(layoutID, parent, false);
return new CategoryTagViewHolder(v, layoutID);
}
@Override
public void onBindViewHolder(@NonNull CategoryTagViewHolder holder, int position) {
System.out.println("CAT BIND");
holder.tv.setText(categoryList.get(position));
}
@Override
public int getItemCount() {
return categoryList.size();
}
public void updateCategories(Collection<String> c){
categoryList.clear();
categoryList.addAll(c);
notifyDataSetChanged();
}
class CategoryTagViewHolder extends RecyclerView.ViewHolder{
TextView tv;
public CategoryTagViewHolder(View itemView, int layoutID){
super(itemView);
if(layoutID == R.layout.adapter_category)
tv = itemView.findViewById(R.id.adapter_alt_category);
else
tv = itemView.findViewById(R.id.adapter_alt_tag);
}
}
My layouts are formatted via ConstraintLayout and I ensured the Recyclerview is bound. Should the secondary Adapter be a variable inside its parent? Or is it in the proper place in the viewholder?
java android android-fragments android-recyclerview android-adapter
java android android-fragments android-recyclerview android-adapter
edited Nov 12 at 4:05
asked Nov 12 at 1:38
Scott Sinischo
84
84
add a comment |
add a comment |
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53254997%2frecyclerview-inside-adapter-invisible-upon-refresh%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53254997%2frecyclerview-inside-adapter-invisible-upon-refresh%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown