51得票2回答
ListView适配器中的findViewById和View Holder模式的区别

我经常在Adapter的getView方法中使用LayoutInflater和findViewById来创建新项。 但是在许多文章中,人们写道findViewById非常非常慢,并强烈建议使用View Holder模式。 有人能解释一下为什么findViewById这么慢吗?以及为什么Vi...

47得票8回答
Android - 在RecyclerView中实现搜索过滤器

我需要在我的 RecyclerView 中基于一个 EditText 实现搜索功能。在输入时列表必须被过滤。 这里是代码: DisplayAdapter.java 这是适配器public class DisplayAdapter extends RecyclerView.Adapter<...

46得票5回答
如何使用BaseAdapter自定义ListView

我想创建一个像这样的自定义 ListView: 我认为我需要使用 BaseAdapter 但我对此毫无头绪。

45得票6回答
FragmentPagerAdapter notifyDataSetChanged不起作用

我有一个FragmentPagerAdapter。它的getItem方法可以根据外部数据返回一个片段。当我更新要显示的数据后,我调用notifyDataSetChanged,但仍然没有任何反应。我确实重写了getItemPosition方法,返回POSITION_NONE:public sta...

42得票6回答
自定义适配器的getView()方法没有被调用

这是我设置自定义适配器到列表的片段代码。 没有错误,但是ListView为空。我已经实现了getCount()方法,并且返回了我的ArrayList中正确的项目数量。在Logcat中我看不到("Inside", "GetView")。 片段public class ServiceCarLi...

38得票9回答
Android:如何刷新ListView的内容?

我的ListView使用了BaseAdapter的扩展,但我无法正确地进行刷新。当我进行刷新时,旧数据似乎会覆盖在新数据之上,直到发生滚动事件为止。旧行覆盖新行,但是当我开始滚动时,旧行就会消失。 我尝试过调用invalidateViews()、notifyDataSetChanged()和...

35得票2回答
如何向ListView添加节分隔符/分割线?

我正在为我的应用程序制作菜单,使用DrawerLayout和ArrayAdapter子类来实现类似Facebook抽屉菜单的外观。 我目前没有问题创建列表,但现在它看起来很好,我想在不同种类的选项之间(例如用户相关和应用程序相关选项)添加分隔符,并在菜单顶部添加搜索栏。我的当前ArrayAda...

34得票4回答
RecyclerView.Adapter.notifyItemChanged()从不将负载传递给onBindViewHolder()函数

我正在尝试在不重新绑定整个内容的情况下更新RecyclerView中的ViewHolder。根据文档,我应该调用 RecyclerView.Adapter.notifyItemChanged(int position, Object payload)来完成此操作,其中payload是将传递给 ...

33得票6回答
如何正确处理ViewPager和嵌套片段的屏幕旋转?

我有一个活动(Activity),其中包含一个碎片(Fragment)。这个碎片布局由一个带有几个碎片(实际上只有两个)的视图翻页器(ViewPager)组成。 当视图翻页器被创建时,它的适配器(Adapter)也会被创建,getItem 方法被调用,我的子碎片(Sub Fragments)...

32得票8回答
RecyclerView适配器的notifyDataSetChanged方法无效

我扩展了RecyclerView.Adapter<RecyclerView.ViewHolder> 当我打电话时:mRecyclerView.getAdapter().notifyDataSetChanged(); 没有发生任何事情。刷新视图的唯一方法是重新设置适配器(查看此答案)...