2010-07-23 80 views
1

嘿。我剛開始使用Android。我使用2個LinearLayouts的ViewFlipper佈局。第一個佈局有一個切換到第二個佈局的按鈕。我想添加一個計時器,在3000ms後切換到第一個佈局。 我嘗試了一個線程,但它沒有工作(無法與其他線程的UI元素進行通信)。Android ViewFlipper showPrevious after 300ms

我的代碼:

公共類測試擴展活動{

ViewFlipper f; 
LinearLayout l1; 
LinearLayout l2; 
Button b1; 

Thread s; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    f = (ViewFlipper) findViewById(R.id.f); 
    l1 = (LinearLayout) findViewById(R.id.l1); 
    l2 = (LinearLayout) findViewById(R.id.l2); 
    b1 = (Button) findViewById(R.id.b1); 

    updateSwitch = new Thread() { 
     @Override 
     public void run() { 
      try {sleep(3000); 
      } catch (InterruptedException e) { 
      } finally {f.showPrevious();} 
     } 
    }; 

    b1.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      f.setAnimation(AnimationUtils.loadAnimation(v.getContext(), R.anim.push_left_in)); 
      lFlipper.showNext(); 
      updateSwitch.start(); 
     } 
    }); 
} 

}

我的猜測是,我需要某種形式的處理程序,將與主線連接一個新線程。 請更新我的代碼。 Thx 10x。

回答