2015-02-25 2 views
0

hi am Попытка использования ImageSwitcher мне удается заставить его работать, но у меня проблема: мне нужно нажать, чтобы начать, и остановить, чтобы остановить, я хочу, чтобы она начиналась автоматически когда начать деятельностьКак заставить ImageSwitcher запускаться автоматически

это мой код

public class MainActivity extends Activity 

{
частный imageSwitcher imageSwitcher;

private int[] gallery = {R.drawable.a, R.drawable.b, R.drawable.c, R.drawable.d, R.drawable.e, R.drawable.f}; 

private int position = 0; 

private Timer timer = null; 

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    imageSwitcher = (ImageSwitcher) findViewById(R.id.imageSwitcher); 

    imageSwitcher.setFactory(new ViewFactory() { 

     public View makeView() 
     { 
      return new ImageView(MainActivity.this); 
     } 
    }); 

    // Set animations http://danielme.com/2013/08/18/diseno-android-transiciones-entre-activities/ 
    Animation fadeIn = AnimationUtils.loadAnimation(this, R.anim.fade_in); 
    Animation fadeOut = AnimationUtils.loadAnimation(this, R.anim.fade_out); 
    imageSwitcher.setInAnimation(fadeIn); 
    imageSwitcher.setOutAnimation(fadeOut);   
} 



//////////////////////BUTTONS 

public void start(View button) 
{   
    timer = new Timer(); 
    timer.scheduleAtFixedRate(new TimerTask() { 

    public void run() { 
     // avoid exception: "Only the original thread that created a view hierarchy can touch its views" 
     runOnUiThread(new Runnable() { 
      public void run() { 
       imageSwitcher.setImageResource(gallery[position]); 
        position++; 
        if (position == 6) 
        { 
         position = 0; 
        } 
      } 
     }); 
    } 

    }, 0, 2500); 

} 

public void stop(View button) 
{ 
    timer.cancel(); 
} 

}

+0

, пожалуйста, помогите мне, мне это нужно –

ответ

1

Вы можете просто позвонить по вашему OnCreate начала метода (нуль) (с нулевым параметром) и это все, если вы хотите, чтобы остановить затем вызвать метод останова с нулевым параметром, когда таймер вверх.

Смежные вопросы