Articles of android recyclerview

无法在RecyclerView下方放置视图

我在将Adview放在RecyclerView下面时遇到了麻烦。 目前, RecyclerView正在占用布局的其余部分,并且未显示Adview 。 我在网上find的解决方案都没有解决我的问题。 通常layout_weight或layout_below解决了问题,但在这种情况下不是。 XML

在RecyclerView或Grouping Recyclerview项目中按组划分元素,例如按日期划分

我想将我的android RecyclerView项目与基于日期的标题分组,如下所示: 1 week ago – item – item – item – item 2 weeks ago – item – item – item 基于某个元素的那种东西或分组。

NotifyDataSetChanged- RecyclerView – 它是异步调用吗?

我试图在recyclerview上执行notifyDataSetChanged之后遵循一组语句。 但是当我调试我的应用程序时,调试器会在我的notifyDataSetChanged之后到达接下来的几行,然后再转到recyclerview适配器的onBindViewHolder 。 所以我的问题是 – notifyDataSetChanged是异步调用吗? 如果是,我们会收到回电吗? PS:我已经搜索了这个答案,我找不到合适的答案,这就是我问社区的原因。

CoordinatorLayout与RecyclerView

当我向上滚动RecyclerView时,我想要隐藏一个LinearLayout,当我向下滚动时,我会再次出现; 行为应该与工具栏隐藏和重新出现的方式相同。 这是我到目前为止: 从目前为止我能理解的情况来看,我可以在viewToHideOnScroll上指定一个app:layout_behavior值,以便根据recyclerView上的滚动事件平滑地viewToHideOnScroll和滚出视图。 为此,我必须编写一个自定义类ViewToHideOnScrollBehavior并覆盖layoutDependsOn和其他一些方法( onNestedScroll ?)。 如果这是正确的,这就是我所拥有的: public class ViewToHideOnScrollBehavior extends CoordinatorLayout.Behavior { public ViewToHideOnScrollBehavior(Context context, AttributeSet attrs) {} @Override public boolean layoutDependsOn(CoordinatorLayout parent, LinearLayout child, View dependency) { return dependency instanceof RecyclerView; } // some other method to override, I don’t know } 有人可以给我一个提示,还是我这样做错了? 我一直关注https://lab.getbase.com/introduction-to-coordinator-layout-on-android/

RecyclerView中的图像

我在Android中使用RecyclerView,我遇到了一些图像问题。 我想显示特定文件夹中的图像列表及其路径名称。 所以这是我的row.xml : 在我的适配器中,我使用此代码来设置行的图像: @Override public void onBindViewHolder(ViewHolder holder, int position) { holder.mTextView.setText(mDataset[position]); holder.mImageView.setImageURI(Uri.parse(“file://” + mMediaStorageDir.getPath() + “/” + mDataset[position])); } 图像加载正常,但当我向下滚动整个应用程序变得非常慢。 当我加载一个小的drawable时,这不会发生。 是因为图片太大了吗?

双击Recycler View适配器的OnClickListener

我试图将一个简单的点击视图添加到回收站视图的项目,但由于某种原因,我必须单击一次项目而不是一次执行操作。 单击时,回收器View似乎没有检测到点击。 然而,在下一个上它会检测到点击并执行适当的操作。 XML: 码: public class InventoryItemRecyclerAdapter extends RecyclerView.Adapter { onItemClickListener mOnItemClickListener = null; /** * */ public ArrayList mInventoryItemList; Context mContext; static String TAG = “InventoryItemRecyclerAdapter”; Random random = new Random(); // ————————————————————————- // Constructor /** * * @param pInventoryItemList */ public InventoryItemRecyclerAdapter(ArrayList pInventoryItemList) { mInventoryItemList = pInventoryItemList; } // ——————————————————————— @Override public […]

Recyclerview,我无法通过getChildAt(位置)获取项目视图。 空对象引用

我在导航抽屉里面使用了recyclerView,我正在使用这个库Twoway-view来获得点击和选择支持。 它工作得很好,我可以在每个位置的OnClick方法中更改文本和图标的颜色而没有问题: itemClickSupport.setOnItemClickListener(new ItemClickSupport.OnItemClickListener() { @Override public void onItemClick(RecyclerView parent, View view, int position, long id) { TypedValue typedValue = new TypedValue(); MainActivity.this.getTheme().resolveAttribute(R.attr.colorAccent, typedValue, true); final int color = typedValue.data; //TODO Icon and text colors for (int i = 0; i 15){ imageViewDrawerIcon.setImageAlpha(255); }else{ imageViewDrawerIcon.setAlpha(255); } textViewDrawerTitle.setTextColor(color); RelativeLayout relativeLayoutDrawerItem = (RelativeLayout) recyclerViewDrawer.getChildAt(i).findViewById(R.id.relativeLayoutDrawerItem); relativeLayoutDrawerItem.setFocusableInTouchMode(true); }else{ ImageView […]

错误:找不到符号类RecyclerView

android { compileSdkVersion 23 buildToolsVersion “22.0.1” defaultConfig { applicationId “com.hiii” minSdkVersion 11 targetSdkVersion 23 versionCode 1 versionName “1.0” } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } productFlavors { } } dependencies { compile fileTree(dir: ‘libs’, include: [‘*.jar’]) compile files(‘libs/bolts-android-1.2.1 – Copy.jar’) compile ‘com.android.support:appcompat-v7:23.0.0′ } 我不能使用RecyclerView和Linearlayoutmanager。我已经尝试编译旧版本,但每次出现错误都无法解析symbol’recyclerview’.please帮帮我

ViewPager片段都引用相同的RecyclerView和/或Adapter

我有一个包含RecyclerView的Fragment来显示给定日期的事件。 我使用ViewPager将片段分成多天; 周六活动的片段和周日活动的片段。 但是,看起来两个片段都引用相同的RecyclerView和/或Adapter,因为它只是显示其事件的最后一个选项卡(在本例中为Sunday)。 在我的具体案例中,星期六有两个事件,周日没有事件。 两个片段都有空的RecyclerViews。 为了证实我的理论它是由最后一个标签引起的,我改变了日期。 这导致RecyclerViews有两个事件(周六的事件)。 以下是各个片段的相关代码: public class EventListFragment extends Fragment{ private EventAdapter mEventAdapter; private static final String DATE_ARG = “eventDate”; public static EventListFragment newInstance(LocalDate date){ EventListFragment eventListFragment = new EventListFragment(); Bundle args = new Bundle(); args.putSerializable(DATE_ARG, date); eventListFragment.setArguments(args); return eventListFragment; } @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) […]

Android:无法解析方法’findFirstVisibleItemPosition()’?

我正在尝试在回收站视图上编写无限滚动的代码。 这是给我编译错误的片段: @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { visibleItemCount = mLayoutManager.getChildCount(); totalItemCount = mLayoutManager.getItemCount(); pastVisiblesItems = mLayoutManager.findFirstVisibleItemPosition(); if ( (visibleItemCount+pastVisiblesItems) >= totalItemCount) { Log.v(“…”, “Last Item Wow !”); } 我之前写的声明是: mLayoutManager = new LinearLayoutManager(this); mLayoutManager是RecyclerView.LayoutManager类的对象