在Android ListView中,我如何迭代 *** 纵所有子视图,而不仅仅是可见视图?

在Android ListView中,我如何迭代 *** 纵所有子视图,而不仅仅是可见视图?,第1张

概述下面的代码不会更改所有ListView行的文本,因为getChildCount()不会获取所有ListView的行,而只会获取可见的行.for(inti=0;i<listView.getChildCount();i++){Viewv=listView.getChildAt(i);TextViewtx=(TextView)v.findViewById(R.id.mytext);tx.s

下面的代码不会更改所有ListVIEw行的文本,因为getChildCount()不会获取所有ListVIEw的行,而只会获取可见的行.

for (int i = 0; i < ListVIEw.getChildCount(); i++){    VIEw v = ListVIEw.getChildAt(i);    TextVIEw tx = (TextVIEw) v.findVIEwByID(R.ID.mytext);    tx.setTextSize(newTextSize);}

所以我该怎么做?

当ListVIEw的行变得可见时是否有用于获取通知的代码,因此我可以设置其文本大小?

解决方法:

来自API Demos的List13使用OnScrollStateChanged执行类似 *** 作.但是,可能有更好的方法:

public voID onScrollStateChanged(AbsListVIEw vIEw, int scrollState) {    switch (scrollState) {    case OnScrollListener.SCRolL_STATE_IDLE:        mBusy = false;        int first = vIEw.getFirstVisibleposition();        int count = vIEw.getChildCount();        for (int i=0; i<count; i++) {            TextVIEw t = (TextVIEw)vIEw.getChildAt(i);            if (t.getTag() != null) {                t.setText(mStrings[first + i]);                t.setTag(null);            }        }        mStatus.setText("IDle");        break;

.
.
.

由Corey Trager编辑:

以上肯定指出了我正确的方向.我发现处理OnScrollListener.onScroll比onScrollStateChanged工作得更好.即使我在onScrollSgtaetChanged中删除了case语句并处理了每个状态更改,一些文本也没有调整大小.但是使用onScroll,事情似乎有效.

所以,我看似工作的代码看起来像这样:

public voID onScroll(AbsListVIEw v, int firstVisibleItem, int visibleCount, int totalitemCount){    ListVIEw lv = this.getListVIEw();    int childCount = lv.getChildCount();    for (int i = 0; i < childCount; i++)    {        VIEw v = lv.getChildAt(i);        TextVIEw tx = (TextVIEw) v.findVIEwByID(R.ID.mytext);        tx.setTextSize(textSize);    }}
总结

以上是内存溢出为你收集整理的在Android ListView中,我如何迭代/ *** 纵所有子视图,而不仅仅是可见视图?全部内容,希望文章能够帮你解决在Android ListView中,我如何迭代/ *** 纵所有子视图,而不仅仅是可见视图?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1101186.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存