Sign in

Sean McQuillan

@objcode.bsky.social
288 followers 215 following 20 posts

#AndroidDev at Google

PostsRepliesMedia
Sean McQuillan @objcode.bsky.social · 21/09/2026
Yes, the ACTION_CLICK is the motivation for me to consider making this change. Yes gated on target sdk (maybe 38, maybe later, depends on release trains and my dev-time availability)
010
Sean McQuillan @objcode.bsky.social · 21/09/2026
Q: Do you have any code that you think would be negatively impacted by making `setOnClickListener(null)` clear clickability in the implicit case?
110
Sean McQuillan @objcode.bsky.social · 21/09/2026
Otoh, a survey of public code shows a _lot_ of places where `setOnClickListener(null)` is *incorrectly* triggering a focus search. This would be fixed in the new cade.
100
Sean McQuillan @objcode.bsky.social · 21/09/2026
What could break with this change? If you use `setOnClickListener(null)` without `setClickable(true)` to mean capture and drop all click events and do not forward them to parents then you would need to call `setClickable(true)`
100
Sean McQuillan @objcode.bsky.social · 21/09/2026
All the built-in widgets and appcompat classes would keep identical behavior. Toggles and other buttons that are always intractable even without a listener would not change. Explicit XML would follow the same pattern * android:clickable -> `setOnClickListener(null)` does not clear clickable
100
Sean McQuillan @objcode.bsky.social · 21/09/2026
We're looking at changing the behavior in an upcoming version of Android for all four. The new behavior would be: `view.setOnClickListener(null)` -> if view was set explicitly clickable `setClickable`, no action -> if view was clickable because of `setOCL(L1)`, make it unclickable
100
Sean McQuillan @objcode.bsky.social · 21/09/2026
There's 4 methods with the same behavior: * setOnClickListener * setOnLongClickListener * setOnContextClickListener * setOnCreateContextMenuListener
100
Sean McQuillan @objcode.bsky.social · 21/09/2026
The answer, since API 1 has been (D). `view.setOnClickListener(null)` forces the view to be clickable and then clears the click listener. Why? Lost to history. Is it good? Not exactly. The current behavior is documented in both the JavaDoc and CTS coverage. It's not exactly a bug but...
100
Sean McQuillan @objcode.bsky.social · 21/09/2026
Android devs: What does `view.setOnClickListener(null)` do? A. Clear the click listener. B. Make the view clickable. C. Make the view clickable, then clear the click listener. D. Make the view clickable, potentially trigger a focus search, then clear the click listener.
100
Sean McQuillan @objcode.bsky.social · 19/05/2026
Florina and Adarsh starting Android at the dev keynote!
060
Reposted by Sean McQuillan
Nick Butcher @nickbutcher.bsky.social · 19/05/2026
Android is now Compose First, we recommend you build all Android UI with Compose and `android.widget` is now in maintenance mode. #GoogleIO #AndroidDev android-developers.googleblog.com/2026/05/andr...
android-developers.googleblog.com
Android UI Development is Compose First
News and insights on the Android platform, developer tools, and events.
0359
Sean McQuillan @objcode.bsky.social · 19/05/2026
Google I/O let's go!
0101
Sean McQuillan @objcode.bsky.social · 22/08/2025
:)
020
Sean McQuillan @objcode.bsky.social · 22/08/2025
I will make sure that this is prominently listed as a main use case on all serious business proposals ❤️
020
Sean McQuillan @objcode.bsky.social · 22/08/2025
🚧 We are getting started with formatted text editing in TextField / Compose! 🚧 📋 I'm gathering all use cases, from the common to the complex. What are your daily needs for formatted text? Think mentions, hashtags, links, and simple styling. Reply with your requirements below! ⚒️
4146
Reposted by Sean McQuillan
Simona Milanovic @anomiss.bsky.social · 23/05/2025
We also published new and expanded guidance on Compose accessibility that tackles all of these topics in more detail: goo.gle/compose-acce...
goo.gle
Accessibility in Jetpack Compose  |  Android Developers
022
Reposted by Sean McQuillan
Simona Milanovic @anomiss.bsky.social · 23/05/2025
Our #IO25 talk on how to build more accessible apps with Compose is out! 🥳 Lots of tips on choosing appropriate semantics, merging, clearing & hiding, inspection & debug, accessibility checks in tests 🫶 Check it out ☺️ www.youtube.com/watch?v=80qk...
youtube.com
Build more accessible UIs with Jetpack Compose
YouTube video by Android Developers
1228
Sean McQuillan @objcode.bsky.social · 22/05/2025
💀
000
Sean McQuillan @objcode.bsky.social · 22/05/2025
Flakey posts will be deleted
110
Sean McQuillan @objcode.bsky.social · 22/05/2025
Hi y'all I'll post more ✅
1110
Sean McQuillan @objcode.bsky.social · 20/11/2024
It was me There's a couple other ways that pre-computed text gets un pre-computed. I didn't love this one but it causes better user behavior. The alternative it was to display broken emoji Ask for naming. Don't blame me for Java
020
Sean McQuillan @objcode.bsky.social · 20/11/2024
I guess we're all here now. This is now my primary for Android content.
2251
Sean McQuillan @objcode.bsky.social · 18/11/2024
Really digging bike rentals in London.
010