Android recyclerView findViewHolderForAdapterPosition returns null

后端 未结 6 1117
醉梦人生
醉梦人生 2020-11-27 07:08

I want to click an item in recyclerView programmatically, I found a way do that:

recyclerView.findViewHolderForAdapterPosition(0).itemView.performClick();
         


        
6条回答
  •  迷失自我
    2020-11-27 07:59

    you can do this:

    postAndNotifyAdapter(new Handler(),mRecyclerView);
    
    
    
    protected void postAndNotifyAdapter(final Handler handler, final RecyclerView recyclerView) {
        handler.post(new Runnable() {
            @Override
            public void run() {
                if ( recyclerView.findViewHolderForLayoutPosition(0)!=null) {
                    // This will call first item by calling "performClick()" of view.
                    recyclerView.findViewHolderForLayoutPosition(0).itemView.performClick();
                } else {
                    //   
                    postAndNotifyAdapter(handler, recyclerView);
                }
            }
        });
    }
    

提交回复
热议问题