小编Con*_*nti的帖子

RecyclerView不调用onCreateViewHolder或onBindView

没有得到任何错误,所有数据似乎都有效.出于某种原因,正在调用与视图相关的方法.我确定了以下内容:

  • getItemCount()是唯一被调用的适配器方法,并返回一个正整数值,(我知道这将是你们要看的区域)

    • 正在调用构造函数,成员变量是有效的.

    • 父视图是一个垂直的LinearLayout; 没有滚动视图,或任何其他具有自己的滚动属性的视图.

    • 包含片段视图已创建并显示在屏幕上.

这是片段中的声明,后跟适配器.任何帮助将不胜感激,因为这是完全困惑的.

SubMenuAdapter adapter = new SubMenuAdapter(getActivity(), mContentItems);
    recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
    recyclerView.setItemAnimator(new DefaultItemAnimator());
    recyclerView.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)
public class SubMenuAdapter extends RecyclerView.Adapter<SubMenuAdapter.ViewHolder> {
private static final String TAG = String.format("==> %S", SubMenuAdapter.class.getSimpleName());

private final List<ContentItem> mContentItems;
private Context mContext;

public SubMenuAdapter(Context context, List<ContentItem> contenItems) {
    Log.d(TAG, "Constructor called");
    mContentItems = contenItems;
    mContext = context;
}

@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    Log.d(TAG, "onCreateViewHolder called");
    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.row_resource_efficiency, parent, false);
    return new ViewHolder(view);
}

@Override
public void …
Run Code Online (Sandbox Code Playgroud)

java android android-fragments android-recyclerview

57
推荐指数
6
解决办法
4万
查看次数

是否可以在 Marshmallow 之前的 Android 版本中创建自定义浮动文本选择菜单?

我正在寻找为文本选择创建一个自定义菜单。我知道可以使用 setCustomSelectionActionModeCallback 编辑操作栏的行为,但在我的情况下,我根本不希望该操作栏显示,我想要自己已经实现的浮动自定义菜单。

唯一的问题是在 TextView 中选择文本后,无法不显示操作栏菜单。

我需要的行为不是标准的剪切/复制/粘贴,我实施的操作是用于突出显示文本的突出显示部分并将其保存到数据库中。

我做了一些修补,我能做的最好的事情是一个凌乱的反射想法,我在 onCreateActionMode 返回 false 并通过反射获得对文本选择句柄的引用。它成功了一半,而且效果很好,因为在这种情况下,任何形式的反射都是非常糟糕的做法。

我希望最后一个支持库在 6.0 中包含浮动文本菜单,虽然我可以在该菜单中实现我自己的自定义视图,但这是一厢情愿的想法。

如果有人有任何可能有用的想法或库,那么我全神贯注。

android textselection android-edittext android-actionmode android-6.0-marshmallow

5
推荐指数
1
解决办法
3075
查看次数