相关疑难解决方法(0)

如何使用多种视图类型创建RecyclerView?

来自https://developer.android.com/preview/material/ui-widgets.html

当我们创建时,RecyclerView.Adapter我们必须指定ViewHolder将与适配器绑定.

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {

    private String[] mDataset;

    public MyAdapter(String[] myDataset) {
        mDataset = myDataset;
    }

    public static class ViewHolder extends RecyclerView.ViewHolder {
        public TextView mTextView;
        public ViewHolder(TextView v) {
            super(v);
            mTextView = v;
        }
    }

    @Override
    public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.some_layout, parent, false);

        //findViewById...

        ViewHolder vh = new ViewHolder(v);
        return vh;
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        holder.mTextView.setText(mDataset[position]);
    }

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

user-interface android android-recyclerview

795
推荐指数
13
解决办法
39万
查看次数

使用自定义排序顺序对对象的ArrayList进行排序

我希望为我的地址簿应用程序实现一个排序功能.

我想要排序ArrayList<Contact> contactArray.Contact是一个包含四个字段的类:姓名,家庭电话号码,手机号码和地址.我想要排序name.

如何编写自定义排序功能来执行此操作?

java sorting collections arraylist

114
推荐指数
4
解决办法
17万
查看次数

如何根据类别实现带有节头的RecyclerView?

我想在列表中实现部分.我有一份任务清单.List有一个自定义适配器,它扩展了recyclerview刷卡适配器,因为我已经实现了向recyclerview的滑动手势.

因此,现在任务列表与已完成和待处理任务一起显示.每个列表项都有一个复选框,显示任务已完成或待处理.

如果选中复选框,则任务完成,反之亦然.现在我想用标题创建两个部分.一个用于已完成的任务,另一个用于待处理任

所以完成的任务应该显示在已完成的部分内,反之亦然.此外,如果任务未经检查,即待处理,如果用户选中复选框,则该项目应从待处理部分中删除,并应添加到已完成的部分,反之亦然.

我检查了一个库的部分.

https://github.com/afollestad/sectioned-recyclerview

但是当我尝试实现库时,我得到了错误,即适配器无法扩展两个类,因为之前我已经扩展了recyclerview swipe库.

适配器:

    public class IAdapter extends RecyclerSwipeAdapter<IAdapter.ItemViewHolder> {

    public ArrayList<Task> items;
    Context conext;
    public int _mId;

    List<Task> itemsPendingRemoval = new ArrayList<>();

    public IAdapter(Context context, ArrayList<Task> item) {
        this.conext=context;
       this.items=item;
    }


    @Override
    public int getItemCount() {
        return items.size();

    }

    public static class ItemViewHolder extends RecyclerView.ViewHolder {
        Task task;
        CheckBox cb;
        SwipeLayout swipeLayout;
        TaskTableHelper taskTableHelper;
        ItemViewHolder(final View itemView) {
            super(itemView);

            taskTableHelper= new TaskTableHelper(itemView.getContext());
            swipeLayout = (SwipeLayout) itemView.findViewById(R.id.swipe);
            cb = (CheckBox) itemView.findViewById(R.id.checkbox);

        }
    }

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

java android header sections android-recyclerview

13
推荐指数
2
解决办法
3万
查看次数

使用当前日期和时间的RecyclerView动态部分标题

我将使用RecyclerView作为节标题

我想在SQLite数据库中插入每个日期和时间数据时创建节头

我在下面的链接中找到了这个解决方案,但没有成功

请参考下图

在此输入图像描述

对于使用以下代码的上述图像数据或部分是静态的:

List<Company> childList = new ArrayList<>();
        List<CompanySectionHeader> sectionHeaders = new ArrayList<>();

        childList = myDb.getAllCompany();
        sectionHeaders.add(new CompanySectionHeader(childList, "WEDNESDAY 4 APRIL", 1));
Run Code Online (Sandbox Code Playgroud)

现在,如果我输入今天的数据,那么我创建1个截面日期

下面的图像数据部分标题是静态或数据:

在此输入图像描述

上面的图像数据正在使用下面的代码:

childList.add(new Company("Ketul Inc.", "11/11/2017 3:46 PM"));
        childList.add(new Company("Atmel Corporation", "09/19/2017 8:46 PM"));
        childList.add(new Company("ABC Technologies", "09/12/2017 7:41 PM"));
        childList.add(new Company("Huron Capital Partners LLC", "09/12/2017 7:25 PM"));
        sectionHeaders = new ArrayList<>();
        //Create a List of SectionHeader DataModel implements SectionHeader
        sectionHeaders.add(new CompanySectionHeader(childList, "SATURDAY 7 APRIL", 2));
Run Code Online (Sandbox Code Playgroud)

以下代码是我的SectionHeader.Java:

public class CompanySectionHeader …
Run Code Online (Sandbox Code Playgroud)

java sqlite android android-recyclerview

11
推荐指数
1
解决办法
1514
查看次数