如何在android中将AutoCompleteTextView与RecyclerView.Adapter一起使用但不与ArrayAdapter一起使用

2024-04-18

我有一个需要实施自动建议的情况。为此,我一直在尝试使用自定义的 RecyclerView.Adapter。但问题是,AutoCompleteTextView 似乎是为 BaseAdapter 及其子类制作的。

因此,适配器不被接受。还有其他方法吗,我可以将 RecyclerView 适配器与 AutoCompleteTextView 一起使用。 ArrayListAdapter 或 BaseAdapter 是 AutCompleteTextView 的唯一解决方案吗?


AutoCompleteTextView需要一个ListAdapter那也是Filterable。您可以通过围绕一个包装类来实现这一点RecyclerView.Adapter延伸BaseAdapter并将调用委托给底层RecyclerView.Adapter。这是一个例子:

public class RecyclerBaseAdapter<VH extends RecyclerView.ViewHolder> 
    extends BaseAdapter implements Filterable {

    private final RecyclerView.Adapter<VH> mAdapter;

    public RecyclerBaseAdapter(RecyclerView.Adapter<VH> adapter) {
        mAdapter = adapter;
    }

    @Override
    public int getItemViewType(int position) {
        return mAdapter.getItemViewType(position);
    }

    @Override
    public int getCount() {
        return mAdapter.getItemCount();
    }

    @Override
    public Object getItem(int position) {
        // not supported
        return null;
    }

    @Override
    public long getItemId(int position) {
        return mAdapter.getItemId(position);
    }

    @SuppressWarnings("unchecked")
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        VH holder;
        if (convertView == null) {
            holder = mAdapter.createViewHolder(parent, getItemViewType(position));
            convertView = holder.itemView;
            convertView.setTag(holder);
        } else {
            holder = (VH) convertView.getTag();
        }
        mAdapter.bindViewHolder(holder, position);
        return holder.itemView;
    }

    @Override
    public Filter getFilter() {
        // TODO: return a real filter
        return null;
    }
}

现在你可以做mAutoCompleteTextView.setAdapter(new RecyclerBaseAdapter(mRecyclerViewAdapter))。我只在一个上测试过这个Spinner,但它也应该适用于您的情况。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在android中将AutoCompleteTextView与RecyclerView.Adapter一起使用但不与ArrayAdapter一起使用 的相关文章

  • 如何在 RecyclerView 中使用拖动手势进行多选?

    这是一个很短的问题 最近 谷歌更新了其材料设计指南 表明多选项目应该像谷歌照片应用程序一样 here https material io guidelines patterns selection html selection usage
  • 在 Recyclerview 出现之前对其进行测量

    我目前在测量 recyclerView 出现之前遇到问题 我需要测量的高度才能启动 展开 动画 这是我之前在我正在处理的代码中为 gridView 完成的 我正在尝试使用 GridLayoutManager 将其迁移到 RecyclerVi
  • 如何从片段中的 RecyclerView 适配器启动活动[重复]

    这个问题在这里已经有答案了 我无法点击RecyclerView到一个新的Activity from RecyclerViewAdapter I call ItemClick here DayAdapter java holder setIt
  • 如何实时更新RecyclerView?

    我有一个列表 任何用户都可以随时更新 该列表显示在回收视图 我想实时更新这个列表 以便用户可以获得更好的用户体验 因为用户不需要多次执行刷新 现在的问题是 如何实时更新这个列表 使用 RecyclerView 您可以更新单个项目 项目范围或
  • 以编程方式设置文本时,如何避免出现自动完成下拉列表?

    我的布局中有一个 AutoCompleteTextView 我还有另一种方法来选择 AutoCompleteTextView 中存在的相同项目 当选择替代方式时 我通过以下方式填充 AutoCompleteTextView 中的值 auto
  • 无法解析符号 ViewHolder

    我试图实现一个recycler view 但我无法使用viewHolder 请找到解决方案 提前致谢 你可以尝试一下这个方法希望对你有帮助 public class YourAdapter extends RecyclerView Adap
  • 在回收器视图网格布局管理器中创建总线布局时出现间距问题

    我正在使用回收者视图GirdLayout创建总线布局的管理器 我的问题是间距 我根据行列填充数据 这就是我获取布局的方式 这就是我想要的布局 我想要第 3 行第 2 列的物品 位于第 2 行第 0 列的卧铺座位旁边 如上图所示 我怎样才能删
  • 如何检测 android RecyclerView 中的 OverScroll?

    我尝试覆盖 onOverScrolled 但它没有被触发 public class MyRecyclerView extends RecyclerView public MyRecyclerView NonNull Context cont
  • 在 recyclerview 中附加 onClickListener 的最佳位置

    当我查看一些有关回收器视图的教程时 其中一些使用 viewHolder 构造函数来附加 onClick 侦听器 而其中一些使用 onBindViewHolder 方法 哪种方法是附加 onclicklistener 的最佳位置 我真的很困惑
  • 单击回收器视图

    有谁用过RecyclerView找到了一种方法来设置onClickListener到项目中的RecyclerView 我想过为每个项目的每个布局设置一个监听器 但这似乎有点太麻烦了 我确信有办法RecyclerView聆听onClick事件
  • 在 Android 回收器视图中以编程方式左右对齐视图

    我正在使用 android 回收器视图创建聊天布局 活动主线
  • 如何将TabLayout与Recyclerview同步?

    我有一个TabLayout with Recyclerview这样当单击选项卡时Recyclerview滚动到特定位置 我也想要相反的过程 这样当Recyclerview滚动到特定位置 然后该特定选项卡会突出显示 例如 如果有 4 个选项卡
  • RecyclerView 的弹跳效果

    我想在RecyclerView 每当我过度滚动内容时就会出现反弹效果 是否有一个库或示例 我也找不到任何支持 RecyclerView 弹跳效果的库 最终我自己实现了一个新的库 查看我的图书馆过度滚动弹力 android https git
  • 滚动时重用视图时保存 RecyclerView 中所选项目的状态

    我为 recyclerView 创建了一个 Adapter 和 ViewHolder 我将 itemView 的 imageButton 绑定到 Viewholder 内 并在 onBindViewHolder 中设置了一个 onClick
  • AutoCompleteTextView sqlite填充异常

    我的第一篇文章只有不到一半的文字 因此是第二篇 完整的 文章 我正在开发一个测试应用程序 使用 sqlite 填充两个 AutoCompleteTextView 我正在使用汽车制造商和模型进行测试 自动完成的 使自动完成 模型自动完成 ma
  • 为什么recycleview数据无法与服务器端数据库数据同步

    我正在使用rest api向我在android中的应用程序提供数据 对于数据库 我正在使用phpmyadmin并在本地主机中执行此操作 一切顺利 但是当我在数据库中添加新数据时 我的recycleview无法与数据库中的最新数据同步 因此当
  • 如何迭代 RecyclerView 项目

    在我的应用程序中 我有一个带有简单项目视图的 RecyclerView 该视图由每行中的 TextView 和 Spinner 组成 用户从操作栏中单击 保存 后 我需要迭代所有项目并获取 Spinner 选择的值 有什么想法可以或应该如何
  • OnSwipe 方法在 RecyclerView 中不起作用

    我正在开发一个用于播放音频文件的应用程序 创建了包含 2 个选项卡的选项卡布局 两者中都使用了片段RecyclerView两者都被使用 该片段名为LibraryFragment有这个RecycleView其物品在刷卡时必须传递给HomeFr
  • RecyclerView.OnScrollListener:一次滚动实例被多次调用

    我有一个水平布局的回收视图 一次只有一个视图可见 mRecyclerView findViewById R id rvmain mRecyclerView setOnFlingListener null final SnapHelper s
  • 使 Recyclerview 固定高度并可滚动

    已解决以下检查答案 所以我试图为我的 Android 应用程序创建评论功能 我想在 recyclerview 中显示评论 然后在 recyclerview 下方有一个按钮和文本视图来添加评论 我想让 recyclerview 具有一定的高度

随机推荐