Hirdetés

Új hozzászólás Aktív témák

  • thon73

    tag

    Bocsánat, ha nagyon alap kérdést teszek fel. Egy View számára készítek időzítést. Egy összefoglaló képen az ikonok másodpercenként váltják egymást.

    A new Handler() ugye az UI Thread-en indul, ugye? (ha a View-ból indítom) Gondolom, ezt nincs is értelme háttérszálra tenni.
    Indításra és leállításra használhatom-e az onAttachedToWindow() és onDetachedFromWindow() metódusokat?

    Itt a kód is:

    public class DiaryLayout extends ViewGroup
    {
    private int columns = 7;
    private int rows = 5;

    private Handler repeatHandler = new Handler();

    /*...*/

    @Override
    protected void onAttachedToWindow()
    {
    super.onAttachedToWindow();
    repeatHandler.postDelayed( repeatRunnable, 1000 );
    }

    @Override
    protected void onDetachedFromWindow()
    {
    super.onDetachedFromWindow();
    repeatHandler.removeCallbacks( repeatRunnable );
    }

    private Runnable repeatRunnable = new Runnable()
    {
    @Override
    public void run()
    {
    for ( int row = 0; row < rows; row++ )
    {
    for (int col = 0; col < columns; col++)
    {
    getChildAt(row * columns + col).invalidate();
    }
    }
    repeatHandler.postDelayed( repeatRunnable, 1000);
    }
    };
    }

Új hozzászólás Aktív témák