Android ListView:逐个更改项目视图

Android ListView:逐个更改项目视图,android,listview,loops,rows,Android,Listview,Loops,Rows,我有一个ListView,它是使用带有自定义项布局的BaseAdapter构建的。我想实现一个按钮,当单击该按钮时,列表项视图会一个接一个地高亮显示,并延迟显示 因此,当单击按钮时,第一行高亮显示(可通过更改视图背景等实现),然后在4秒钟后,第二行高亮显示,前一行不高亮显示,直到循环中断或到达列表末尾 我一直在寻找解决方案,在迭代我发现的项目时,这可能会导致性能问题。到目前为止,我发现所有子视图都具有相同的ID(我猜是因为它在getView中使用视图): int start=0; ListVie

我有一个ListView,它是使用带有自定义项布局的BaseAdapter构建的。我想实现一个按钮,当单击该按钮时,列表项视图会一个接一个地高亮显示,并延迟显示

因此,当单击按钮时,第一行高亮显示(可通过更改视图背景等实现),然后在4秒钟后,第二行高亮显示,前一行不高亮显示,直到循环中断或到达列表末尾

我一直在寻找解决方案,在迭代我发现的项目时,这可能会导致性能问题。到目前为止,我发现所有子视图都具有相同的ID(我猜是因为它在getView中使用视图):

int start=0;
ListView lv=(ListView)findViewById(android.R.id.list);
int childCount=lv.getChildCount();
文本视图电视;
for(int i=start;i
您每次都在for循环中初始化textview,这不是必需的
textview tv=(textview)v.findViewById(R.id.wordlistenglab)
。把它移到外面,谢谢,我改变了这个。。。如何将更改延迟到每4秒一次,并影响所有视图,而不仅仅是可见视图?使用计时器或手柄我尝试了处理程序和计时器,但发现一旦处理程序或计时器完成,所有视图都会立即更改您有任何示例代码吗?
int start = 0;

    ListView lv = (ListView) findViewById(android.R.id.list);
    int childCount = lv.getChildCount();
    TextView tv;

    for (int i = start; i < childCount; i++) {
        View v = lv.getChildAt(i);
        tv = (TextView) v.findViewById(R.id.wordListEngLabel);
        tv.setText("here");
    }