Articles of android recyclerview

如何设置RecyclerView Max Height

我想设置RecylerView的Max Height。我可以使用下面的代码设置最大高度。下面的代码使高度为当前屏幕的60%。 DisplayMetrics displaymetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); int a = (displaymetrics.heightPixels * 60) / 100; recyclerview1.getLayoutParams().height = a; 但现在的问题是,如果它没有项目,那么它的高度也是60%。 所以我想在没有项目的情况下将其高度设置为0。 我希望实现像某样的东西。 if(recyclerview’s height > maxHeight) then set recyclerview’s height to maxHeight else dont change the height of recyclerview. 我怎么设置它? 请帮助我,我坚持下去

如何将recyclerview添加到项目中

试图导入android.support.v7.widget.RecyclerView,但它没有用,也补充说 compile ‘com.android.support:recyclerview-v7:23.1.1’ build.gradle,但它也没有帮助

关于滚动值的Recyclerview从适配器更改

我正在开发一个应用程序,我正在尝试使用RecyclerView和回收器适配器填充列表。 但是当我快速滚动列表时,有时列表项上的值会在列表项之间进行混洗。 这有一个已知的解决方案吗?

RecyclerView从右到左成长元素

我在水平方向使用RecyclerView,从左到右使用New元素。 和滚动是ltr。 如何改变这个方向? Xml代码: 和Java: RecyclerView rc1 = (RecyclerView) findViewById(R.id.rc1); AdapterMainPrice mainPrice = new AdapterMainPrice(StructPrice.getThreePrice()); rc1.setHasFixedSize(false); LinearLayoutManager llm = new LinearLayoutManager(G.context); llm.setOrientation(LinearLayoutManager.HORIZONTAL); rc1.setLayoutManager(llm); rc1.setAdapter(mainPrice); 适配器: 公共类AdapterMainPrice扩展了RecyclerView.Adapter { private List prices; public AdapterMainPrice(List catList) { this.prices = catList; } @Override public int getItemCount() { return prices.size(); } @Override public void onBindViewHolder(NewsViewHolder ghazaViewHolder, int position) { StructPrice […]

如何以编程方式滚动水平RecyclerView?

我有一个horizontal RecyclerView和两个按钮(Next,Previous),如下图所示。 所以我需要通过使用这些按钮移动到下一个项目或位置,我知道称为scrollTo方法,但我不知道它是如何工作的

“RecyclerView:没有连接适配器; 跳过布局“for fragmentlerview in fragment

我收到了这个错误,但我不知道是什么原因造成的……也许是因为这是在片段中而不是在活动本身中初始化的事实。 编辑:包含StatsAdapter代码 public class StatsFragment extends Fragment { private RecyclerView mRecyclerView; private LinearLayoutManager mLinearLayoutManager; private RecyclerView.Adapter mAdapter; private String[] myDataset = new String[]{“hello”, “world”, “yolo”}; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.fragment_stats, parent, false); mRecyclerView = (RecyclerView) v.findViewById(R.id.cardList); mRecyclerView.setHasFixedSize(true); mAdapter […]

使用AccessibilityService从(Facebook)RecyclerView中读取文本

如何查看非聚焦的RecyclerView子项(项目)的文本? 我的辅助function服务应该从屏幕上读出包含关键字的文本。 这在大多数情况下都很有效,除非我在处理RecyclerViews,特别是那些在Facebook应用程序中。 Facebook提要和评论屏幕都基于RecyclerView,似乎都没有让我能够访问他们的辅助function事件所需的文本。 我尝试过的: public void onAccessibilityEvent(AccessibilityEvent event) { //I’ve tried looping through event.getText() and it does not contain the text entries //I’ve also tried the following (with various null checks) AccessibilityRecordCompat record = AccessibilityEventCompat.asRecord(event); AccessibilityNodeInfoCompat source = record.getSource(); List nodes = source.findAccessibilityNodeInfosByText(“…”); //(and loop through the entries) //I’ve also tried limiting to the […]

Android Paging库不会触发loadAfter()

我正在使用新的Android Paging库来获得具有无限滚动function的RecyclerView。 我无法理解为什么当我像这样设置我的PagedList时,库不会触发loadAfter()方法: val config: PagedList.Config = PagedList.Config.Builder() .setEnablePlaceholders(false) .setPageSize(10) .setPrefetchDistance(1) .setInitialLoadSizeHint(10) .build() val pageList = PagedList.Builder(LookDataSource(lookList), config) .setInitialKey(0) .setMainThreadExecutor(MainThreadExecutor()) .setBackgroundThreadExecutor(PaginationThreadPoolExecutor()) .setBoundaryCallback(LookBoundaryCallback()) .build() 注意:我的prefetchDistance是1,因为我想在看到最后一个项目时加载另一批数据。 文档说0将永远不会加载更多数据 我的DataSource是一个PageKeyedDataSource ,键是页面的索引。 我查看了ContiguousPagedList的源代码,它是使用PageKeyedDataSource时创建的特定PagedList,我无法理解: @MainThread @Override protected void loadAroundInternal(int index) { int prependItems = mConfig.prefetchDistance – (index – mStorage.getLeadingNullCount()); int appendItems = index + mConfig.prefetchDistance – (mStorage.getLeadingNullCount() + mStorage.getStorageCount()); mPrependItemsRequested = […]

Android L的RecyclerView面临的挑战

我一直在玩RecyclerView一点点。 有什么简单的方法可以在RecyclerView为项目添加OnClickListener吗? 我试过在ViewHolder实现它。 onClick事件永远不会被触发。 我已经使用notifyItemInserted(position)将新值添加到RecyclerView 。 用户界面不会自动刷新。 需要上下拉动才能刷新。 但是当我调用notifyDatasetChanged(..) ,它没问题。 我已将DefaultItemAnimator应用于RecyclerView 。 但是,添加新项目时没有看到任何animation。 感谢提前任何想法。 这是我测试过的第一个Android L组件,我正在那里。 这是我的Adapter类: public class AdapterRecyclerView extends RecyclerView.Adapter { private List arrExperiences; //Provide a reference to the type of views that you are using – Custom ViewHolder public class MyViewHolder extends RecyclerView.ViewHolder { public TextView tvExperienceTitle; public TextView tvExperienceDesc; public MyViewHolder(RelativeLayout […]

在列表视图中滚动时Android Media Controller卡在某个位置?

我有一个使用Recycler View of android的卡片列表。 我正在显示一些文本,并在其下方显示video。 该列表滚动顺畅,播放video流畅,直到我使用setMediaControll()启用控件。 当我向上/向下滚动列表时启用此video媒体控件后,即使video视图随列表视图滚动移动一起自由移动,控件也会保持在相同位置。 这些控件应与列表视图一起移动,并保持静止。 可能是什么导致了这个? 这是预期的平台行为吗? 更新代码: 布局: 在视图持有人: MyViewHolder(View itemLayoutView) { super(itemLayoutView); ………. myVideoView = itemLayoutView.findViewById(R.id.video_view); ………. } 开始video播放的代码: ………. Uri uri = Uri.parse(url); holder.myVideoView.setVideoURI(uri); MediaController fsm = new MediaController(mContext,finalistFragment , url, holder.myVideoView); fsm.setAnchorView(holder.myVideoView); holder.myVideoView.setMediaController(fsm); ………. 对于列表,我使用的是RecyclerView 。