arg... you didn't understand me or i can't understand you getChildView and getGroupView are from the ExpandableListView, but we are talking about the Adapter,
i dont know how to update only the view of only the two childs i want to update, please, can you give me code example of what you want to say to me? i can't understand El viernes, 1 de febrero de 2013 13:08:36 UTC+1, Kostya Vasilyev escribió: > > Urm, for an expandable list view -- getChildView or getGroupView. > > -- K > > 2013/2/1 saex <[email protected] <javascript:>> > >> i didn't understand you, the adapter doesn't have a getView method >> >> El viernes, 1 de febrero de 2013 12:50:46 UTC+1, Kostya Vasilyev escribió: >>> >>> Is that it? >>> >>> >> >>> >>> You could call the adapter's getView, making sure to pass the existing >>> view as the "convertView". >>> >>> << >>> >>> -- K >>> >>> 2013/2/1 saex <[email protected]> >>> >>> i know how to get the views, the problems is that i can't reach the way >>>> to tell the adapter to update the content of only these views... did you >>>> know? >>>> >>>> thanks >>>> >>>> El viernes, 1 de febrero de 2013 12:37:51 UTC+1, Kostya Vasilyev >>>> escribió: >>>>> >>>>> Might look something like this: >>>>> >>>>> final int nFirst = mAccountListView.**getFirstVisib**lePosition(); >>>>> final int nLast = mAccountListView.**getLastVisibl**ePosition(); >>>>> for (int position = nFirst; position <= nLast; ++position) { >>>>> >>>>> View itemView = mAccountListView.getChildAt(**po**sition - nFirst); >>>>> >>>>> As for asking the adapter to update the view, well, there isn't a >>>>> direct way to do this. You could call the adapter's getView, making sure >>>>> to >>>>> pass the existing view as the "convertView". >>>>> >>>>> Or just "reach into" the content of your item layout (findViewById, >>>>> ViewHolder) and update the values. >>>>> >>>>> If the number of items in the adapter can change dynamically, it gets >>>>> more complicated, as the list view can be out of sync with the adapter. >>>>> >>>>> And remember, this can be considered an ugly hack that violates the >>>>> holy principles of Objectively Orientated Progammation (or whatever that >>>>> thing is called) :) -- but can be useful where performance is important. >>>>> >>>>> -- K >>>>> >>>>> 2013/2/1 saex <[email protected]> >>>>> >>>>> OK, i can get the childs View with: >>>>>> >>>>>> el.getChildAt(1); >>>>>> el.getChildAt(2); >>>>>> >>>>>> but... what shouild i do to notify these views that they must reload >>>>>> their content from the adapter? >>>>>> >>>>>> El viernes, 1 de febrero de 2013 11:38:42 UTC+1, Kostya Vasilyev >>>>>> escribió: >>>>>>> >>>>>>> While TreKing's advice to profile is of course excellent... >>>>>>> >>>>>>> ...rebuilding the entire {expandable} list view just to update one >>>>>>> item is more work that necessary. >>>>>>> >>>>>>> When performance is important, you can walk the list of visible item >>>>>>> views, find the one you need to update, and do it right there. You will >>>>>>> want to use listView.getFirstVisibleItem / getLastVisibleItem / >>>>>>> getChild. >>>>>>> >>>>>>> Also there is a callback, AbsListView.onScrollListener, which lets >>>>>>> you know when the list view is scrolling, and perhaps suspend your >>>>>>> updates >>>>>>> if necessary. >>>>>>> >>>>>>> -- K >>>>>>> >>>>>>> 2013/2/1 saex <[email protected]> >>>>>>> >>>>>>>> I have a ExpandableListView with some groups, and each group >>>>>>>> haves only one child, with a string on it. >>>>>>>> >>>>>>>> I have a thread that get's some updated data and *each second*calls a >>>>>>>> handler that updates the string of one of the childs of the >>>>>>>> ExpandableListView and then calls this method to refresh the view and >>>>>>>> show >>>>>>>> the updated data to the user: ((BaseExpandableListAdapter) >>>>>>>> mAdapter).**notifyDataSetChanged****(); >>>>>>>> >>>>>>>> This is the update handler: >>>>>>>> >>>>>>>> infoUpdateHandler = new Handler(){ >>>>>>>> @Override >>>>>>>> public void handleMessage(Message msg) { >>>>>>>> super.handleMessage(msg); >>>>>>>> children[2][0]=getUpdatedInfo(******); >>>>>>>> ((BaseExpandableListAdapter) >>>>>>>> mAdapter).notifyDataSetChanged******(); >>>>>>>> } >>>>>>>> }; >>>>>>>> >>>>>>>> The problem is that when i'm scrolling the expandable list view, i >>>>>>>> can see how the scroll is showing low performance, it stops sometimes. >>>>>>>> I >>>>>>>> think that it is because this call ((BaseExpandableListAdapter) >>>>>>>> mAdapter).**notifyDataSetChanged****(); is updating all the >>>>>>>> ExpandableListView. >>>>>>>> >>>>>>>> *Does not exist a better way to update a expandable list view? >>>>>>>> Maybe a way to update only the child that you want to update?* >>>>>>>> >>>>>>>> Thanks >>>>>>>> >>>>>>>> -- >>>>>>>> -- >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups "Android Developers" group. >>>>>>>> To post to this group, send email to android-d...@** >>>>>>>> googlegroups.com >>>>>>>> >>>>>>>> To unsubscribe from this group, send email to >>>>>>>> android-developers+**unsubscribe****@googlegroups.com >>>>>>>> For more options, visit this group at >>>>>>>> http://groups.google.com/**group****/android-developers?hl=en<http://groups.google.com/group/android-developers?hl=en> >>>>>>>> --- >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups "Android Developers" group. >>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>> send an email to android-developers+**unsubscribe**** >>>>>>>> @googlegroups.com. >>>>>>>> For more options, visit https://groups.google.com/**grou**** >>>>>>>> ps/opt_out <https://groups.google.com/groups/opt_out>. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> -- >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "Android Developers" group. >>>>>> To post to this group, send email to android-d...@**googlegroups.com >>>>>> To unsubscribe from this group, send email to >>>>>> android-developers+**unsubscribe**@googlegroups.com >>>>>> For more options, visit this group at >>>>>> http://groups.google.com/**group**/android-developers?hl=en<http://groups.google.com/group/android-developers?hl=en> >>>>>> --- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "Android Developers" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to android-developers+**unsubscribe**@googlegroups.com. >>>>>> For more options, visit >>>>>> https://groups.google.com/**grou**ps/opt_out<https://groups.google.com/groups/opt_out> >>>>>> . >>>>>> >>>>>> >>>>>> >>>>> >>>>> -- >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Android Developers" group. >>>> To post to this group, send email to android-d...@**googlegroups.com >>>> To unsubscribe from this group, send email to >>>> android-developers+**[email protected] >>>> For more options, visit this group at >>>> http://groups.google.com/**group/android-developers?hl=en<http://groups.google.com/group/android-developers?hl=en> >>>> --- >>>> You received this message because you are subscribed to the Google >>>> Groups "Android Developers" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to android-developers+**[email protected]. >>>> For more options, visit >>>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out> >>>> . >>>> >>>> >>>> >>> >>> -- >> -- >> You received this message because you are subscribed to the Google >> Groups "Android Developers" group. >> To post to this group, send email to >> [email protected]<javascript:> >> To unsubscribe from this group, send email to >> [email protected] <javascript:> >> For more options, visit this group at >> http://groups.google.com/group/android-developers?hl=en >> --- >> You received this message because you are subscribed to the Google Groups >> "Android Developers" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > -- -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups "Android Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.

