Saturday, February 8, 2014

[coding] Android SDK Devs Are Fucking Morons

I always thought that my difficulties with ListView stemmed from a lack of understanding.  However I just learned that it was actually due to poor design.  Deliberate poor design.  Not just any kind of deliberate poor design, but the kind of condescending, shortsighted, self-righteousness nonsense that gets shat out when platform devs erroneously think they are smarter than their customers.

You can't set a ListView height to wrap content.  Even worse, right around 46:25 they basically tell you that if you need a List View that behaves outside of the silly, narrow-ass assumptions these devs made...dont use ListView.

"Should we go through the millions of items and measure them?"

YES YOU FUCKER.

Some of us need a stupid fucking list view with a persistent footer that expands until it fills up all the room in its parent.  Doing so shouldn't be intractable;  it should have been in fucking version fucking 1.   FUCK.   Eighteen API versions and they still haven't fixed that.  I can't believe I'm dedicating three months of my life to build an app on this platform.  I'm not sure I would ever even want to work for google any more.  It would probably end up a bit too much like my experience at Amazon after I go up to every fucking dev there and explain why they're an idiot.  People tend to give you lot of negative "peer feedback" when you do that.

So, now, my task "tweak the setting page" just grew into "re-write the android ListView object."  I don't have time for that shit right now.  I'm going to have to tell my business partner that version 1 is shipping with weird looking settings page.  FUCK.

I see my future:  lots of custom implementations of things I shouldn't have to write custom implementations of.

I guess we've at least made progress here;  previously when I had problems with ListView I would just hack (or abandon) the specific use case I was working on.  Now I know that ListView is inadequate, and I know I'll have to write my own, and I'll at least stop doubting myself.  I think I am going to name is LessRetardedListView.  There are probably already a bunch of implementations that already exist, but I would bet that finding and learning them would take about as long as writing a better one, and half of them probably don't even allow you to re-use the existing ListAdapter objects.




[Edit]
Actually there might be an easy fix.  If we copy the entire implementation of ListView, then we might only have to make once change:  go into the code that measures for WRAP_CONTENT, and change it to measure until it reaches the parent height instead of always measuring the first 3 views.

2 comments:

  1. Could you fork it and make a merge request? https://github.com/android

    Even if they don't merge, maybe you could get an answer as to why they didn't implement it that way.

    ReplyDelete
  2. After some experimentation, I think the best way to do this is to actually follow their advice, and start creating custom layouts for list view needs that are outside their narrow parameters, and slowly evolve the design based on all of the use cases I come across.

    Forking may be an option, but for now I created an open source lib called "AndroidX' where I intend to put all the things I had to create because they were missing in the sdk.

    ReplyDelete