Sean McQuillan @objcode.bsky.social · 21/09/2026Yes, 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/2026Q: 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/2026Otoh, 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/2026What 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/2026All 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/2026We'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/2026There's 4 methods with the same behavior: * setOnClickListener * setOnLongClickListener * setOnContextClickListener * setOnCreateContextMenuListener 100
Sean McQuillan @objcode.bsky.social · 21/09/2026The 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/2026Android 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/2026Florina and Adarsh starting Android at the dev keynote! 060
Reposted by Sean McQuillanNick Butcher @nickbutcher.bsky.social · 19/05/2026Android 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.comAndroid UI Development is Compose FirstNews and insights on the Android platform, developer tools, and events. 0359
Sean McQuillan @objcode.bsky.social · 22/08/2025I 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 McQuillanSimona Milanovic @anomiss.bsky.social · 23/05/2025We also published new and expanded guidance on Compose accessibility that tackles all of these topics in more detail: goo.gle/compose-acce...goo.gleAccessibility in Jetpack Compose | Android Developers 022
Reposted by Sean McQuillanSimona Milanovic @anomiss.bsky.social · 23/05/2025Our #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.comBuild more accessible UIs with Jetpack ComposeYouTube video by Android Developers 1228
Sean McQuillan @objcode.bsky.social · 20/11/2024It 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/2024I guess we're all here now. This is now my primary for Android content. 2251