CountDownTimer类的完成方法

时间:2014-08-11 14:05:22

标签: android countdowntimer

我遇到onFinish()方法的问题,我想在倒计时完成时会调用一个改变我的屏幕信息的函数,而不是一次调用一次调用。

这是onFinish()方法的代码:

@Override
            public void onFinish() 
            {        
                if(numPreg+1<opcElegida)
                {
                    Log.i("","numPreg: "+numPreg);
                    todo.get(numPreg-1).setRespD("");
                    timer.onTick(45000);
                    displayListView();
                }
                else
                {
                    Intent intent = new Intent(Test.this, Soluciones.class);
                    startActivity(intent);
                }
            }

这是刷新屏幕的功能代码:

private void displayListView() 
    {
        timer.onTick(45000);
        numPreg ++;

        String aux= Integer.toString(numPreg)+"/"+opcElegida;

        totalResp=4;
        preguntaEnunc = (TextView)findViewById(R.id.pregunta);
        preguntaEnunc.setText(todo.get(numPreg-1).getPreg());

        ordenPreg=(TextView)findViewById(R.id.llevo);
        ordenPreg.setText(aux);

        arraydirResp.clear();   
        TemaRescatado temaGen = new TemaRescatado("C",todo.get(numPreg-1).getRespA(),1,false);
        arraydirResp.add(temaGen);
        temaGen = new TemaRescatado("C",todo.get(numPreg-1).getRespB(),2,false);
        arraydirResp.add(temaGen);
        temaGen = new TemaRescatado("C",todo.get(numPreg-1).getRespD(),3,false);
        arraydirResp.add(temaGen);
        temaGen = new TemaRescatado("C",todo.get(numPreg-1).getRespD(),4,false);
        arraydirResp.add(temaGen);

        dataAdapter = new MyCustomAdapterPreg(this,R.layout.item_gen, arraydirResp);
        ListView listView = (ListView) findViewById(R.id.listviewPreg);
        listView.setAdapter(dataAdapter);

    }
谁能帮助我吗?非常感谢你

1 个答案:

答案 0 :(得分:0)

您可能会使用Timer,但是您必须处理在UiThread中运行的内容......但您仍然可以使用CountDownTimer,例如这样使用它:

new CountDownTimer(TIME, TIME) {

    public void onTick(long millisUntilFinished) {
     //IGNORE IT
    }

    public void onFinish() {
       callYourMethodHere();
    }
}.start();