Android 动态滚动列表视图

Android 动态滚动列表视图,android,listview,android-listview,Android,Listview,Android Listview,我想在后台播放语音指令时,用显示指令编程一个列表视图以滚动显示。我目前在计时器中设置了它,以便在滚动到下一个显示指令之前,它给语音指令完成的时间。但是,它似乎只滚动一次,即使循环设置为循环通过与列表中显示的指令数相对应的可用指令数。根据计时器设置,它将滚动到列表的中间或直接滚动到底部一次,而不会在循环位置的每个列表项处停止。 我将非常感谢任何关于如何在android开发中实现这一点的想法。谢谢 代码: public void显示指令(ArrayListinstructions、ListView显

我想在后台播放语音指令时,用显示指令编程一个列表视图以滚动显示。我目前在计时器中设置了它,以便在滚动到下一个显示指令之前,它给语音指令完成的时间。但是,它似乎只滚动一次,即使循环设置为循环通过与列表中显示的指令数相对应的可用指令数。根据计时器设置,它将滚动到列表的中间或直接滚动到底部一次,而不会在循环位置的每个列表项处停止。 我将非常感谢任何关于如何在android开发中实现这一点的想法。谢谢

代码:

public void显示指令(ArrayListinstructions、ListView显示指令ListView)
{
if(指令!=null)
{
最终列表视图列表=DisplayInstructionListView;
DisplayInstructionAdapter DisplayInstructionAdapter=新的DisplayInstructionAdapter(此为指令);
list.setAdapter(displayinstructionAdapter);

for(int i=0;i您正在同时安排所有倒计时计时器,即快速通过for循环,并可能为每个计时器旋转一个新线程,该线程将在同一时间点结束,而不是等待最后一个计时器完成。我如何交错计时器来处理该问题?
 public void displayInstructions(ArrayList<Voice_Instructions>instructions,ListView DisplayInstructionListView)
{
    if(instructions!= null) 
     {
        final ListView list=DisplayInstructionListView;
        DisplayInstructionAdapter displayinstructionAdapter = new DisplayInstructionAdapter(this,instructions);
        list.setAdapter(displayinstructionAdapter);

        for (int i=0; i<instructions.size();i++)
        {
            final int  t=i;
            new CountDownTimer(5000, 1000) 
            {
                @Override
                public void onTick(long millisUntilFinished)
                {

                }

                @Override
                public void onFinish()
                {
                  list.smoothScrollToPosition(t);
                }
              }
            }.start();
        }

    }
     else
         {
           Log.e("no intrctns db", " null");
         }