Kotlinはジャバである
- null許容型の正体
- 関数型の正体
- ラムダ式の正体
- 拡張関数の正体
| apply plugin: 'com.android.application' | |
| apply plugin: 'kotlin-android' | |
| dependencies { | |
| compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" | |
| compile 'org.jetbrains.kotlinx:kotlinx-coroutines-generate:0.1-alpha' | |
| compile 'org.jetbrains.kotlinx:kotlinx-coroutines-async:0.1-alpha' | |
| compile 'org.jetbrains.kotlinx:kotlinx-coroutines-rx:0.1-alpha' |
via: SOFT SKILLS
テーマの情報収集をする。テーマのサイズがどのくらいかを見定める。
TODO
https://www.youtube.com/playlist?list=PLOU2XLYxmsILe6_eGvDN3GyiodoV3qNSC
| package jp.dip.sys1.aozora.views.adapters | |
| import android.support.v7.widget.RecyclerView | |
| import android.view.ViewGroup | |
| import java.util.* | |
| abstract class HeaderAdapter<ViewHolder : RecyclerView.ViewHolder, Item, Header, Footer>() : RecyclerView.Adapter<ViewHolder>() { | |
| companion object { | |
| const val TYPE_HEADER = 0 |
PR: konifar/droidkaigi2016#108
アプリを起動(MainActivity)して任意のセッション詳細(SessionDetailActivity)を開いてSessionの状態を変更して戻る。このときMainActivityが破棄-再生成されていた場合にクラッシュする
MainActivity-SessionsFragment-ViewPager-SessionsTabFragmentの構造のなかで、それぞれのコンポーネント間で直接onActivityResult()を呼び出して伝搬する方法を取っていた。
| //コールバック持つならこういう感じにすると | |
| interface OnClickListener { | |
| boolean onClick(View view); | |
| class EmptyOnClickListener implements OnClickListener { | |
| @Override | |
| public boolean onClick(View view) { | |
| return false; |
| public class SerialOperator<R, T> implements Observable.Operator<R, T> { | |
| Action2<Subscriber<? super R>, T> then; | |
| T next; | |
| SerialOperator(Action2<Subscriber<? super R>, T> then) { | |
| this.then = then; | |
| } |