Closed GoogleCodeExporter closed 9 years ago
This issue is caused by constant calls to BaseAdapter.notifyDataSetChanged().
I'm doing this because each list item contains a small compass needle pointing
the way to the station (bus stop etc.). Of course, the needles orientation must
be updated on each small movement of the device.
Since the name of the station does not change, but TalkBack is needlessly
repeating the name, I consider this a bug of TalkBack and/or the Android
framework. Also, like Steve noted, it appears to be a regression from Android
4.2.
Original comment by andreas....@gmail.com
on 18 Sep 2013 at 9:10
Note this is the exact same problem as described in issue 302
(https://code.google.com/p/eyes-free/issues/detail?id=302).
Original comment by stephen....@gmail.com
on 18 Sep 2013 at 1:26
Issue 302 has been merged into this issue.
Original comment by caseybur...@google.com
on 5 Dec 2013 at 7:25
I believe this is a result of a recent change to AbsListView. We're also
seeing this in within various sections of Settings.
Original comment by caseybur...@google.com
on 5 Dec 2013 at 7:29
This is WAI for adapters without stable IDs. There is no way for the framework
to infer that this is the same item, so the view is destroyed and recreated.
The old behavior was simply to not restore focus, which was considered a bug
and fixed.
Original comment by alanv@google.com
on 5 Dec 2013 at 7:30
andreas.schildbach, We recommend you use stable IDs within your adapter. That
should resolve the issue described here.
Original comment by caseybur...@google.com
on 5 Dec 2013 at 7:41
Ok indeed stable ids was not explicitly declared, although I always used stable
ids in that adapter. I changed that for the next version.
Original comment by andreas....@gmail.com
on 5 Dec 2013 at 11:07
caseybur...@google.com: I'm using stable IDs since a few months, but TalkBack
still (or again) repeats on each notifyDataSetChanged().
Original comment by andreas....@gmail.com
on 28 Mar 2014 at 5:19
[deleted comment]
I am seeing this problem as well.
My adapter shows 6 views which always have the same position. I have made IDs
stable:
@Override
public boolean hasStableIds() { return true; }
@Override
public long getItemId(int position) { return position; }
Still, everytime I call
adapter.notifyDataSetChanged()
the view with the current focus gets read aloud once again.
This is on a Nexus 5 device with Android 4.4 and updated (dec 13 2013) TalkBack
from Google Play
Original comment by jacob.nordfalk
on 24 May 2014 at 9:56
Again, if this is by design, then it's a bad one and needs to change. This is a
bug, plain and simple.
Steve
Original comment by stephen....@gmail.com
on 24 May 2014 at 12:59
This issue is now fixed in Android Version 4.4.4. Unfortunately only my
Google phone and tablet have it, but my Galaxy S5 doesn't yet so the issue
persists in older versions. Completely gone though in 4.4.4.
Thanks Google Devs.
All the best
Steve
Original comment by steve.nu...@gmail.com
on 30 Jun 2014 at 3:42
Original comment by alanv@google.com
on 30 Jun 2014 at 6:19
Original issue reported on code.google.com by
steve.nu...@gmail.com
on 18 Sep 2013 at 8:48