Skip to content Skip to sidebar Skip to footer

Getting Android Recyclerview To Update View Inside React Native Component

I am making a mobile application using React Native and included list components didn't have high enough performance for it so I started using Android's RecyclerView as the list co

Solution 1:

enter image description hereTry this one this.setIsRecyclable(true);

It will referesh your views

publicclassMainActivityextendsAppCompatActivity {

    private RecyclerView mRecyclerView;
    private ArrayList<String> mSingleItemLists = newArrayList<>();
    private SingleListItemAdapter mSingleListItemAdapter;

    @OverrideprotectedvoidonCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view_single_item);
        LinearLayoutManagerlinearLayoutManager=newLinearLayoutManager(this);
        mRecyclerView.setLayoutManager(linearLayoutManager);
        setDummyData();
    }

    privatevoidsetDummyData() {
        for (inti=0; i <= 30; i++)
            mSingleItemLists.add("item" + i);
    }


    @OverrideprotectedvoidonResume() {
        super.onResume();
        mSingleListItemAdapter = newSingleListItemAdapter(mSingleItemLists);
        mRecyclerView.setAdapter(mSingleListItemAdapter);
    }

    classSingleListItemAdapterextendsRecyclerView.Adapter<SingleListItemAdapter.SingleListItemHolder> {
        private ArrayList<String> mSingleItemLists;

        privateSingleListItemAdapter(ArrayList<String> singleItemLists) {
            mSingleItemLists = singleItemLists;
            //You can do notifydatasetchange if u r having any saved value 
        }

        @Overridepublic SingleListItemAdapter.SingleListItemHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            ViewinflatedView= LayoutInflater.from(parent.getContext())
                    .inflate(R.layout.row_recyclerview, parent, false);
            returnnewSingleListItemHolder(inflatedView);
        }

        @OverridepublicvoidonBindViewHolder(SingleListItemAdapter.SingleListItemHolder holder, int position) {
            holder.mItemDate.setText(mSingleItemLists.get(position));
        }

        @OverridepublicintgetItemCount() {
            return mSingleItemLists.size();
        }

        classSingleListItemHolderextendsRecyclerView.ViewHolder implementsView.OnClickListener {
            private TextView mItemDate;

            SingleListItemHolder(View v) {
                super(v);
                mItemDate = (TextView) v.findViewById(R.id.textview_recycler_list_item);
                v.setOnClickListener(this);
                this.setIsRecyclable(true); // This will help u 
            }

            @OverridepublicvoidonClick(View v) {
                //do your stuff
                notifyDataSetChanged();
            }
        }
    }

}

Post a Comment for "Getting Android Recyclerview To Update View Inside React Native Component"