Skip to content

Instantly share code, notes, and snippets.

View ReneeVandervelde's full-sized avatar
🌻
Keeping software in full bloom

Renee Vandervelde ReneeVandervelde

🌻
Keeping software in full bloom
View GitHub Profile
fun setOnClickListener(listener: (view: View) -> Unit) {
// ...
}
class Foo {
public void main() {
// Anonymous Implementation:
myView.setOnClickListener(new OnClickListener() {
@Override
void onClick(View v) {
logger.debug("View Clicked!");
}
});
public interface OnClickListener {
void onClick(View v);
}
// Fails:
// If onNext is a method Reference
// and onError is an object
import io.reactivex.Observable
import io.reactivex.functions.Consumer
class MyErrorHandler : Consumer<Throwable> {
override fun accept(t: Throwable?) { TODO() }
}
public class MyActivity : Activity {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.my_layout)
}
fun useViews() {
my_view.text = "Hello World"
arrayOf(first, second).forEach { it.text = "Hello!" }
}
apply plugin: 'kotlin-android-extensions'
public class MyActivity : Activity {
private val myView: TextView by bindView(R.id.my_view)
private val views: List<TextView> by bindViews(R.id.first, R.id.second)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.my_layout)
}
fun useViews() {
public class MyActivity extends Activity {
@BindView(R.id.my_view) TextView myView;
@BindViews({R.id.first, R.id.second}) TextView[] views;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_layout);
public class MyActivity extends Activity {
private View myView;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_layout);
// If you only want to look up once:
myView = findViewById(R.id.my_view);
Completable data = Completable.mergeArrayDelayError(
widgetRepository.observeWidgets()
.take(1)
.ignoreElements()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
fooRepository.observeFoo()
.take(1)
.ignoreElements()
.subscribeOn(Schedulers.io())