Simple Horizontal Divider Item Decoration for RecyclerView
mRecyclerView.addItemDecoration(new SimpleDividerItemDecoration(
getApplicationContext()
));
NOTE: Add item decoration prior to setting the adapter
| /* | |
| * Copyright 2014 Chris Banes | |
| * | |
| * Licensed under the Apache License, Version 2.0 (the "License"); | |
| * you may not use this file except in compliance with the License. | |
| * You may obtain a copy of the License at | |
| * | |
| * http://www.apache.org/licenses/LICENSE-2.0 | |
| * | |
| * Unless required by applicable law or agreed to in writing, software |
| public class CountingFileRequestBody extends RequestBody { | |
| private static final int SEGMENT_SIZE = 2048; // okio.Segment.SIZE | |
| private final File file; | |
| private final ProgressListener listener; | |
| private final String contentType; | |
| public CountingFileRequestBody(File file, String contentType, ProgressListener listener) { | |
| this.file = file; |
| public Observable<FilesWrapper> download(List<Thing> things) { | |
| return Observable.from(things) | |
| .flatMap(thing -> { | |
| File file = new File(getExternalCacheDir() + File.separator + thing.getName()); | |
| if (file.exists()) { | |
| return Observable.just(file); | |
| } | |
| Request request = new Request.Builder().url(thing.getUrl()).build(); |
| #build.gradle | |
| # | |
| # compile 'io.reactivex:rxandroid:1.0.1' | |
| # compile 'io.reactivex:rxjava:1.0.14' | |
| # compile 'io.reactivex:rxjava-math:1.0.0' | |
| # compile 'com.jakewharton.rxbinding:rxbinding:0.2.0' | |
| # rxjava | |
| -keep class rx.schedulers.Schedulers { | |
| public static <methods>; |
You can use this class to realize a simple sectioned RecyclerView.Adapter without changing your code.
The RecyclerView should use a LinearLayoutManager.
You can use this code also with the TwoWayView with the ListLayoutManager (https://github.com/lucasr/twoway-view)
This is a porting of the class SimpleSectionedListAdapter provided by Google
Example:
| /* | |
| * Copyright (C) 2014 The Android Open Source Project | |
| * | |
| * Licensed under the Apache License, Version 2.0 (the "License"); | |
| * you may not use this file except in compliance with the License. | |
| * You may obtain a copy of the License at | |
| * | |
| * http://www.apache.org/licenses/LICENSE-2.0 | |
| * | |
| * Unless required by applicable law or agreed to in writing, software |
| /** | |
| * The MIT License (MIT) | |
| * | |
| * Copyright (c) 2015 Circle Internet Financial | |
| * | |
| * Permission is hereby granted, free of charge, to any person obtaining a copy | |
| * of this software and associated documentation files (the "Software"), to deal | |
| * in the Software without restriction, including without limitation the rights | |
| * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
| * copies of the Software, and to permit persons to whom the Software is |
| /** | |
| * The MIT License (MIT) | |
| * | |
| * Copyright (c) 2015 Circle Internet Financial | |
| * | |
| * Permission is hereby granted, free of charge, to any person obtaining a copy | |
| * of this software and associated documentation files (the "Software"), to deal | |
| * in the Software without restriction, including without limitation the rights | |
| * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
| * copies of the Software, and to permit persons to whom the Software is |
Use these rapid keyboard shortcuts to control the GitHub Atom text editor on Mac OSX.