このページには広告が含まれる場合があります。
Android Studio3.1以降のRecycler Viewの自動生成コードでもよく見かけるようになったスコープ関数「with」ですが、
本当にざっくりとその使い方を理解しようとすると、
- オブジェクトの初期化や設定に使う「apply」と同じようなもので
- 「apply」と違って、戻り値を自分で指定できる(applyは呼び出し元(レシーバー)自身を返す)
ということでいいのではないかと思います。
<applyの例:レシーバー自身(この場合はIntent)を返す>
val intent = Intent(this@WordListActivity, EditActivity::class.java).apply { putExtra(getString(R.string.intent_key_question), strSelectedQuestion) //問題 putExtra(getString(R.string.intent_key_answer), strSelectedAnswer) //こたえ putExtra(getString(R.string.intent_key_position), position) //行番号 putExtra(getString(R.string.intent_key_status), getString(R.string.status_change)) //ステータス }
<withの例:関数の処理結果(≠レシーバー)を返す>
with(view) { layoutManager = when { columnCount <= 1 -> LinearLayoutManager(context) else -> GridLayoutManager(context, columnCount) } adapter = MyListRecyclerViewAdapter(DummyContent.ITEMS, listener) }
(詳しくは下の動画で解説していますので、よろしければご覧ください)